函数名的运用
函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量。
1、函数名的内存地址
def func(): print("呵呵") print(func) 结果: <function func at 0x1101e4ea0>
2、函数名可以赋值给其它变量
def func(): print("呵呵") print(func) a = func # 把函数当成⼀个变量赋值给另⼀个变量 a() # 函数调⽤ func()
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("我是func2") fn() # 执⾏传递过来的fn print("我是func2") func2(func) # 把函数func当成参数传递给func2的参数fn.
5、函数名可以作为函数的返回值
def func_1(): print("这⾥是函数1") def func_2(): print("这⾥是函数2") print("这⾥是函数1") return func_2 fn = func_1() # 执⾏函数1. 函数1返回的是函数2, 这时fn指向的就是上⾯函数2 fn() # 执⾏上⾯返回的函数