| 一、函数对象 |
函数对象:函数是第一类对象,即函数可以当作数据传递
1 可以被引用
2 可以当作参数传递
3 返回值可以是函数
3 可以当作容器类型的元素
1、函数可以被引用,即函数可以赋值给一个变量
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 def foo(): 4 print('from foo') 5 6 foo() 7 func=foo #引用,赋值 8 print(foo) 9 print(func) 10 func()
2、可以当作参数传递
1 def foo(): 2 print('from foo') 3 4 def bar(func): 5 print(func) 6 func() 7 8 bar(foo) 9 10 代码运行结果: 11 <function foo at 0x1047eff28> 12 from foo
3、返回值可以是函数
1 def foo(): 2 print('from foo') 3 4 def bar(func): 5 return func 6 7 f=bar(foo) 8 9 print(f) 10 11 f() 12 13 运行结果: 14 <function foo at 0x0000024AD6E48AE8> 15 from foo
4、可以当作容器类型的元素
1 def foo(): 2 print('from foo') 3 dic={'func':foo} 4 5 print(dic['func']) 6 7 dic['func']() 8 9 运行结果: 10 <function foo at 0x0000020849BE8AE8> 11 from foo