函数闭包
例1>>> count=5
>>> def func():
count*=count
return count
>>> func()
例2
>>> count=5
>>> def func():
count=10
return count
>>> func()
10
为什么例1不行,例2可以啊?他这个全局变量不是会屏蔽的吗? 第一个 count 不明确,第二个没有问题。 第一个count=5,是全局变量。func函数中的count是局部变量,引用不到全局count的值,会报错的
第二个函数,func中定义了一个count局部变量,所以没问题
count = 5
def func():
global count
count *= count
return count
a = func()
print(a) 第一个func()
函数中没有count
页:
[1]