python函数名的运用


def func(): print("呵呵") print(func) 结果: <function func at 0x1101e4ea0>

函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量.

当打印函数名的时候会发现出现的是一个内存地址

函数名可以赋值给变量

def func():
 print("呵呵")
print(func)
a = func # 把函数当成⼀个变量赋值给另⼀个变量
a() # 函数调⽤ func()

函数名可以当做容器类的元素

def func1():
    print("呵呵")
def func2():
    print("呵呵")
def func3():
    print("呵呵")
def funcc4():
    print("呵呵")
lst = [func1, func2, func3,func4]
for i in lst:
 i()

函数名可以当做函数的参数

def func():
  print("吃了么")
def func2(fn):
  print("我是func2")
  fn() # 执⾏传递过来的fn
  print("我是func2")
func2(func) # 把函数func当成参数传递给func2的参数fn.

函数名可以作为函数的返回值

def func_1():
    print("这⾥是函数1")
def func_2():
    print("这⾥是函数2")
    print("这⾥是函数1")
    return func_2
fn = func_1() # 执⾏函数1. 函数1返回的是函数2, 这时fn指向的就是上⾯函数2
fn() # 执⾏上⾯返回的函数