闭包
学习闭包前先要知道
函数名的运用
函数名就是一个变量,但是他是一个特殊的变量,与括号配合可以执行函数的变量。
1.函数名的内存地址
def func():
print('hello')
print(func)
结果:
<function func at 0x10ef39ea0>
2.函数名可以赋值给其他变量
def func():
print("hello")
print(func)
a = func # 把函数当成一个变量赋值给另一个变量
a() #函数调用func()
结果:
<function func at 0x10a5a5ea0>
hello
3.函数名可以当做容器类的元素
def func1():
print("呵")
def func2():
print("呵")
def func3():
print("呵")
def func4():
print("呵")
lst = [func1, func2, func3]
for i in lst:
i()
结果:
呵
呵
呵
4.函数名可以当做函数的参数
def func():
print("吃了了么")
def func2(fn):
print("