Python参数的几种类型

位置参数

位置参数:函数调用,实参默认按位置顺序传递,按照参数位置根据个数和形参匹配。
Python函数基础知识2

默认值参数

默认值参数:为某些参数设置默认值,这些参数在传递时就说可选的。默认值参数放到位置参数后面。
Python函数基础知识2

命名参数

命名参数:也称“关键字参数”,是按照形参的名称传递参数的形式。
Python函数基础知识2

可变参数

可变参数指的是“可变数量的参数”,分两种情况:
1、*param(一个星号),将多个参数收集到一个“元组”对象中。
2、**(两个星号),将多个参数收集到一个“字典”对象中。
Python函数基础知识2
结果:
Python函数基础知识2

强制命名参数

在带星号的“可变参数”后面增加新的参数,必须在调用的时候“强制命名参数”。
Python函数基础知识2
lambda表达式和匿名函数
lambda 表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数的返回值。
lambda 表达式可以用来声明匿名函数。lambda 函数是一种简单的、在同一行中定义函数的方法。lambda 函数实际生成了一个函数对象。
lambda 表达式的基本语法如下:
lambda arg1,arg2,arg3… : <表达式>
arg1/arg2/arg3 为函数的参数。<表达式>相当于函数体。运算结果是:表达式的运算结果。
Python函数基础知识2

eval()函数

将字符串str 当成有效的表达式来求值并返回计算结果。
语法: eval(source[, globals[, locals]]) -> value
参数:
source:一个Python 表达式或函数compile()返回的代码对象
globals:可选。必须是dictionary
locals:可选。任意映射对象
Python函数基础知识2

递归函数

递归函数指的是:自己调用自己的函数,在函数体内部直接或间接的自己调用自己。每个递归函数必须包含两个部分:
1、终止条件
表示递归什么时候结束。一般用于返回值,不再调用自己。
2、递归步骤
把第n 步的值和第n-1 步相关联。
Python函数基础知识2

嵌套函数

嵌套函数:又称内部函数,在函数内部定义的函数
Python函数基础知识2
结果:Python函数基础知识2

nonlocal和global关键字

nonlocal 用来声明外层的局部变量。
global 用来声明全局变量。
Python函数基础知识2
结果
Python函数基础知识2

LEGB 规则

Python 在查找“名称”时,是按照LEGB 规则查找的:
Local–>Enclosed–>Global–>Built in
Local 指的就是函数或者类的方法内部
Enclosed 指的是嵌套函数(一个函数包裹另一个函数,闭包)
Global 指的是模块中的全局变量
Built in 指的是Python 为自己保留的特殊名称。

相关文章: