函数对象

函数对象

函数是第一类对象,即函数可以被当做数据处理。

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()

函数名等同于变量名,即变量名有的方法,函数名同样也有, 被引用 ; 当做容器元素 ; 当做函数参数 ; 当做函数返回值

原文地址:https://www.cnblogs.com/aden668/p/11329212.html