python函数定义中引用外部变量的一个问题
如果在函数定义的默认值中引用了一个外部变量,如下所示
x = 3
def func(a = x):
print(a, x)
那么a的默认值就会是3,
但是print语句中的x会是调用时的x值
lambda表达式同理
func = lambda a=x : a + x
调用时的a的默认值是3,而x是实际变量值
如果在函数定义的默认值中引用了一个外部变量,如下所示
x = 3
def func(a = x):
print(a, x)
那么a的默认值就会是3,
但是print语句中的x会是调用时的x值
lambda表达式同理
func = lambda a=x : a + x
调用时的a的默认值是3,而x是实际变量值