函数在Python中是第一类对象,可以当做参数传递给其他函数,放在数据结构中,以及作为函数的返回结果。
下面的例子为接受另外一个函数作为输入并调用它
1 #foo.py 2 def callf(func): 3 return func()
使用上面的函数:
1 import foo 2 def helloworld(): 3 return ‘Hello,World‘ 4 5 print foo.callf(helloworld)
>>>‘Hello,World’
2.把函数当做数据处理时,它将显示地携带与定义该函数的周围环境相关的信息。
将组成函数的语句和这些语句的执行环境打包在一起时,得到的对象称为闭包
1 #foo.py 2 x=42 3 def callf(func): 4 return func()
使用嵌套函数时,闭包将捕捉内部函数执行所需的整个环境
1 import foo 2 def bar(): 3 x=13 4 def helloWorld(): 5 return ‘Hello World. x is %d ‘%x 6 print foo.callf(helloWorld)
>>>Hello World. x is 13
时间: 2024-10-26 12:18:31