1, 函数返回值有多个:
def func():
ip = “127.0.0.1”
port = “3389”
return ip,port
ip,port = func() 即可得到ip和port的值
2,函数legb 参数寻找顺序
l: local 本地作用域
e:
Enclosing Function
上一层结构中def或lambda的本地作用域
g: global 全局作用域
b:Built-in
3,函数的定义方式:
def func():
pass
4,函数的参数:
1)普通参数(位置参数)
2)缺省参数
3)关键字参数(
**keywords 关键字参数列表,字典参数)
4)非关键字参数(可变参数,
*arg 非关键字参数列表,这个参数是一个元组参数)
函数声名部分,参数的四个部分不可颠倒位置,可以没有其中某几部分。
python赋值参数匹配步骤:
1)通过位置分配非关键字参数
2)通过匹配变量名分配关键字参数
3)其他额外的非关键字参数分配到*name元组中
4)其他额外关键字参数分配到**name字典中
5)用默认值分配给在头部未得到分配的参数
5,闭包:
通俗的讲就是:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)。它只不过是个“内层”的函数,由一个名字(变量)来指 代,而这个名字(变量)对于“外层”包含它的函数而言,是本地变量。