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
05-26 20:02