一、函数对象

 

函数对象:函数是第一类对象,即函数可以当作数据传递
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

相关文章: