在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满

足下述条件的程序实体:

  • 在运行时创建

  • 能赋值给变量或数据结构中的元素

  • 能作为参数传给函数

  • 能作为函数的返回结果

把函数视作对象

  Python 函数是对象。这里我们创建了一个函数,然后调用它,读取它的 __doc__ 属性,并且确定函数对象本身是 function 类的实例。

 #创建一个函数,只有函数在调用的时候才会运行
def factorial(n):
'''returns n!'''
return 1 if n < 2 else n * factorial(n-1) #factorial(42)是函数function的实例
print(factorial(42))
print(type(factorial)) #函数众多属性中的其中一个~
print(factorial.__doc__)

以上代码执行的结果为:

1405006117752879898543142606244511569936384000000000
<class 'function'>
returns n!

  展示了函数对象的“一等”本性。我们可以把 factorial 函数赋值给变量 fact,然后通过变量名调用。我们还能把它作为参数传给map 函数。map 函数返回一个可迭代对象,里面的元素是把第一个参数(一个函数)应用到第二个参数(一个可迭代对象,这里是range(11))中各个元素上得到的结果。

最新文章

  1. Debugging WebLogic Server Applications Using Eclipse and the WebLogic-Plugin
  2. javascript模块简单写法
  3. SQL Server 2005 数据库复制(转载)
  4. 到底UDP和TCP是什么个概念?
  5. UVA 11354 Bond 邦德 (RMQ,最小瓶颈MST)
  6. C#播放音乐,调用程序
  7. jQuery插件综合应用(四)头像设置
  8. iBatis 的条件查询
  9. HDU 2076 夹角有多大(题目已修改,注意读题)
  10. 第37篇 Asp.Net源码解析(二)--详解HttpApplication
  11. 1.6 在WHERE子句中引用取别名的列
  12. JVM启动参数
  13. 浅谈CSRF(Cross-site request forgery)跨站请求伪造(写的非常好)
  14. JS获取元素属性
  15. 【android】来电悬浮窗
  16. 在表单里面检查用户名是否存javascript
  17. ASP.NET控件属性大全
  18. CommStringLib
  19. sklearn中预测模型的score函数
  20. 肖申克的救赎 -Hope

热门文章

  1. Django学习(九)---Templates过滤器及Django shell和Admin增强
  2. 深入理解Java内部类
  3. RxSwift 系列(九) -- 那些难以理解的概念
  4. 安装harbor私有镜像仓库
  5. Java设计模式之模板方法设计模式(银行计息案例)
  6. H5微信通过百度地图API实现导航方式一
  7. 小白浅论JAVA数组中“for加强版”
  8. HDU5742 It&#39;s All In The Mind(思维题,水题)
  9. Struts2漏洞解决
  10. VMware NAT端口映射 外网可以访问内网虚拟机