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() # 執⾏上⾯返回的函數
