Python中一切皆爲對象,對於函數對象,只需記住:可以當做變量來使用
1.賦值
def func():
print(1)
a = func
a() 結果是:1
2.做函數參數
def func(a):
print(a)
def foo():
print(1)
b = func(foo)
b() 結果是:<function foo at 0x0000020040A1F1E0> 函數對象
3.做函數返回值
def func1():
return func2
def func2():
print(1)
func1()()
4.做容器元素
def func1():
pass
def func2():
pass
lst = [func1,func2]
for i in lst:
print(i)
結果爲:<function func1 at 0x000002003FEFC950>
<function func2 at 0x0000020040ABCAE8>
def func1():
pass
def func2():
pass
dic = {}
dic[func1] = "1"
dic[func2] = "2"
print(dic)
結果爲:{<function func1 at 0x000001D5CE453F28>: '1', <function func2 at 0x000001D5CE453B70>: '2'}