1、参数
以下是调用函数时可使用的正式参数类型:
- 必需参数
- 关键字参数
- 默认参数
- 不定长参数
1、参数前+ * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数
2、参数前+ ** 的参数会以字典(Dictionary)的形式导入,存放所有未命名的变量参数
3、声明函数时,参数中星号 * 可以单独出现,例如:
def f(x,y,*,z):
return x+y+z
如果单独出现星号 * 后的参数必须用关键字传入。
>>> def f(x,y,*,z):
... return x+y+z
...
>>> f(1,2,3) # 报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f() takes 2 positional arguments but 3 were given
>>> f(1,2,z=3) # 正常
6
>>>
2、匿名函数
python 使用 lambda 来创建匿名函数。
return [表达式] 语句用于退出这个函数,选择性地向调用方返回一个表达式。
3、变量作用域
Python变量的作用域一共有四种,如下:
- L (Local) 局部作用域
- E (Enclosing) 闭包函数外的函数中
- G (Global) 全局作用域
- B (Built-in) 内置作用域(内置函数所在模块的范围)
- 由上而下地去查找。
g_count = 0 # 全局作用域
def outer():
o_count = 1 # 闭包函数外的函数中
def inner():
i_count = 2 # 局部作用域