函数对象
变量名可以被引用,函数名也可以被引用我们就可以吧函数当做对象来用
一、被引用
def func():
return 1
f = func
f()
print(f)
-----------------------------------------------------------
<function func at 0x000002239787D400>
二、放入容器类数据类型
def func():
return 1
list = [1,2,3,func]
a =list[-1]()
print(a)
-----------------------------------------------------------
1
三、当做参数
def func():
return 1
def f2(name):
print(name)
f2(func)
-----------------------------------------------------------
<function func at 0x0000020AF133D400>
四、做函数的返回值
def func():
return 1
def f3(name):
return name
res = f3(func)
print(res)
res()
print(res())
-----------------------------------------------------------
<function func at 0x000001D67089D400>
函数名等同于变量名,即变量名有的方法,函数名同样也有, 被引用 ; 当做容器元素 ; 当做函数参数 ; 当做函数返回值