一:函数对象:函数是第一类对象,即函数可以当作数据传递
=================================
1 可以被引用
2 可以当作参数传递
3 返回值可以是函数
4 可以当作容器类型的元素
=================================
1.函数可以被引用
1 def foo(): 2 print('from foo') 3 func=foo 4 5 print(foo) 6 print(func) 7 func()
执行结果
<function foo at 0x00000000006FF598>
<function foo at 0x00000000006FF598>
from foo
函数名本身表示的就是内存地址,可以被其他对象引用
2.被当做参数传递
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
def foo(): print('from foo') def bar(func): print(func) func() bar(foo)
执行结果
<function foo at 0x000000000082F598>
from foo