函数的收集参数
def fun(*object, param1, param2 = None):
print(type(object)) #tuple, 调用时默认的所有实参全部转化为tuple传递给object
fun(1,2,3,4,5,6,7,param1=8) #指定param1的调用实参,param2参数调用缺省值
函数内可访问全局变量,不可修改全局变量----global 关键字
v = 10
def fun():
# 可访问全局变量v
print(v) # 10
# 创建内部变量v
v = 11
print(v) # 11
return v
def fun1():
# 定义使用全局的变量v
global v
# 修改的是全局的v
v = 12
return v
print(fun()) # 11
#全局变量没有在fun()函数内被修改
print(v) # 10
print(fun1()) #12
print(v) # 12
lambda表达式
就是一个匿名函数
形式:
lambda x, y, z: x + y + z
以lambda关键字开始,紧跟着一个参数列表,然后是冒号,再是表达式
两个使用lambda的例子:
list(filter(lambda x: x % 2, [1,2,3,4,5,6,7,8,9,10]))
list(map(lambda x: x * 2, [1,2,3,4,5,6,7,8])