函数对象

精髓:可以把函数当成变量去用

func=内存地址

def func():
    print('from func')

1、可以赋值

f=func
print(f,func)
f()

2、可以当做函数当做参数传给另外一个函数

def func():
    print('from func')
   
def foo(x): # x = func的内存地址
   # print(x)
    x()

foo(func) # foo(func的内存地址)

3、可以当做函数当做另外一个函数的返回值

def func():
    print('from func')

def foo(x): # x=func的内存地址
   return x # return func的内存地址

res=foo(func) # foo(func的内存地址)
print(res) # res=func的内存地址

res()

4、可以当做容器类型的一个元素

def func():
    print('from func')

l=[func,]
# print(l)
l[0]()

dic={'k1':func}
print(dic)
dic['k1']()

posted @ 2020-03-22 21:25  江湖有梦  阅读(166)  评论(0编辑  收藏  举报