1、可引用
def foo(): return ('hello world!') a=foo print(a())
2、可当返回值
def outer(): def inner(): print(111) return inner y=outer() y() #todo 如果将111改为inner 在函数末尾加一个 #todo print(y) 则打印出两个完全相同的内存地址 #todo 所以y就相当于inner,所以y()=inner()
3、可以当参数
def foo(): print('hello world!') def foo2(b): print(b) b() foo2(foo) #todo foo2把foo传进来 然后打印地址,b就和foo地址一样然后加个()调用, #todo 就输出hello world!
4、可当作容器类型元素
def foo(): return ('hello world!') l={'foo':foo} y=l['foo']() print(y) #todo y=l['foo']拿到了命名为foo的这个函数,也就是说y=foo,然后加括号调用