4.4.10 函数名的应用
函数名就是一个特殊的变量,后边跟上()之后可以执行函数:
1.作为一个变量使用
def func():
print('123')
f1 = func
f2 = f1
f1() #f1指向了func指向的地址,所以f1后加()之后 ,也可以执行该地址的函数
f2() #f2同上
#输出
123
123
2.可以作为容器类数据类型的元素
def func1():
print('in func1')
def func2():
print('in func2')
def func3():
print('in func3')
l = [func1,func2,func3]
for item in l : #利用for循环分别执行新连变量名的函数
item()
#输出
in func1
in func2
in func3
3.可以作为函数的实参
def fun1():
print('in func1')
def fun2(argv):
argv()
print('in func2')
fun2(fun1) #argv指向了func1指向的地址,后加括号可直接执行函数
# 输出
in func1
in func2
4.函数名可以作为函数的返回值
def func1():
print('in func1')
def func2(argv):
print('in func2')
return argv
ret = func2(func1) #输出 ret指向了func1指向的地址
print(ret) #输出<function func1 at 0x0000022A04C71EA0>
print(func1) #输出<function func1 at 0x0000022A04C71EA0>
ret() #输出 in func1