# 普通函数
def fun(x, y):
return x + y
# 匿名函数
lambda x, y: x + y
匿名函数类型为 function , 调用和普通函数无异
fun = lambda x, y: x + y
print(type(fun)) # <class 'function'>
print(fun(1, 2)) # 3
变量作用域
全局变量和局部变量
在函数体外部定义变量叫全局变量,在函数体变量内定义的叫局部变量。
在函数中无法直接给全局变量赋值,需要在全局变量前加上global关键字。
a = 1
b = 2
def fun():
global a
a = 5
b = 10
print('函数内 a 的id为 %s' % id(a))
print('函数内 b 的id为 %s' % id(b))
fun()
print('函数外 a 的值为 %s' % a)
print('函数外 a 的id为 %s' % id(a))
print('函数外 a 的id为 %s' % b)
print('函数内 b 的id为 %s' % id(b))
nonlocal与global作用相同,不同点在于nonlocal只能在嵌套函数中使用。
def fun():
b = 2
def fun1():
nonlocal b
b = 1
fun1()
print('b 的值%s' % b)