函数名的应用

函数名的应用

1、函数名指向的是函数的内存地址

def b():
    global a
print(b,type(b()))

输出:
<function b at 0x000001F15891A3A8> <class 'NoneType'>

2、函数名就是变量

def fun():
    print(666)

f =  fun
f1 = f
f2 = f1
f2()
#输出
666

3、函数名可以做容器类数据类型的元素

def fun1():
    print(666)

def fun2():
    print(777)

def fun3():
    print(888)

li = [fun1,fun2,fun3]

for i in li:
    i()
输出:
666
777
888

4、函数名可以做函数的参数

def fun1():
    print(666)

def fun2(x):
    x()  #fun1()
    print(777)

fun2(fun1)  #切记不能写成fun1()
#输出
666
777

5、函数名可以做函数的返回值

def fun1():
    print(666)

def fun2(x):
    print(777)
    return x
ret = fun2(fun1)
ret()
输出:
777
666
print(ret)
输出:
777
666
<function fun1 at 0x0000025D814BA438>
原文地址:https://www.cnblogs.com/hsyw/p/13611197.html