Python
2018-05-26
python的一等函数
在Python中,函数是一等对象,而一等对象的定义是满足下述条件的程序实体:
- 在运行时创建
- 能赋值给变量或数据结构中的元素
- 能作为参数传递给函数
- 能作为函数的返回结果
我们通过下面的例子来证明python中的函数是对象:
>>> def factorial(n):
... '''return n!'''
... return 1 if n < 2 else n * factorial(n-1)
...
>>> factorial(41)
33452526613163807108170062053440751665152000000000
>>> factorial.__doc__
'return n!'
>>> type(factorial)
<class 'function'>
在第三行就可以看出,factorial是一个类的示例,另外再看看下面的例子可以看出,python中的函数满足上面所讲的一等对象定义的要求:
>>> fact=factorial
>>> fact
<function factorial at 0x10d6daea0>
>>> fact(5)
120
>>> map(factorial,range(11))
<map object at 0x10d5e9c88>
>>> list(map(factor...