1.函数名字的应用
函数名是什么?
函数名是函数的名字,本质:变量,特殊变量
函数名+() ———》执行此函数: 2.函数名的赋值:
def func2():
print(44)
f = func2
print(f()) #结果666 none
3.函数名可以作为容器类型数据的元素
def f1():
print(1111) def f2():
print(1112) def f3():
print(1113) def f4():
print(1114) #利用f1,f2,f3,f4,for循环输出 li = [f1,f2,f3,f4]
for i in li:
i()
4.函数名可以作为参数
def f1():
print(99)
def f2(x):
x() f2(f1)
5.函数名可以作为函数的返回值
def f1():
print(99)
def f2(x):
return x f2(f1)()
.闭包
闭包就是内存函数对外层函数变量的应用,外层函数非全局变量。
判断是否为闭包的方法:
_closuer_ # 包含cell元素的就是闭包
_closuer_ # 包含
None元素的不是闭包
闭包特性:当函数开始执行时,如果遇到闭包,他会永远开辟一个内存将函数封装到里面,而不会在执行完毕后
消失,在需要从网络调取大量数据时利用闭包第一次建立内存空间后每次调取都从这个空间调取,而不会 从网上再次调取占用内存,从而节约大量内存。