函数对象
函数是第一类对象,即函数可以被当做数据处理。
def func():
print('from func')
#把函数当做对象来用
print (func) #func指向一块内存地址,函数名
<function func at 0x0000026143541F28>
def func():
print('from func')
a = 1
print(a) # 变量名
# 变量名可以被引用,函数名也可以被引用
b = a # b =1
f = func # func可以加()调用,那么f也可以加()调用
print(f, func)
f() # func()
1
<function func at 0x000002D9B4121F28> <function func at 0x000002D9B4121F28>
from func
#变量名可以放入容器类数据类型
lt=[1,2,a,func]
lt[-1]()
#变量名还可以当做参数
def f2(name): # name = func
name() # func()
# f2(a)
f2(func)
#函数的返回值
def f3(name): # name = func
return name # name = func
res = f3(func) # res = func
print(res)
res()
函数名等同于变量名,即变量名有的方法,函数名同样也有, 被引用 ; 当做容器元素 ; 当做函数参数 ; 当做函数返回值