Python支持一流的功能。实际上,python中的所有函数都是一流的函数。
Python可能会从函数返回函数,将函数存储在诸如列表之类的集合中,并且通常像对待任何变量或对象一样对待它们。
在其他函数中定义函数和返回函数都是可能的。
给定的代码如下重新编写。我们在函数内部定义函数并返回它们。
def f2(c, d): return c, d def f1(a, b): c = a + 1 d = b + 2 return lambda: f2(c,d) result = f1(1, 2) print result print result()
输出结果
C:/Users/nhooo1/~.py <function <lambda> at 0x0000000003041CF8> (2, 4)