加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

可调用对象

发布时间:2020-12-20 10:28:15 所属栏目:Python 来源:网络整理
导读:除了用户定义的函数,调用运算符(即 ())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的 callable() 函数。Python 数据模型文档列出了 7 种可调用对象。 用户定义的函数 使用 def 语句或 lambda 表达式创建。 内置函数 使用 C 语言(CPyt
除了用户定义的函数,调用运算符(即 ())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的 callable() 函数。Python 数据模型文档列出了 7 种可调用对象。
用户定义的函数
  使用 def 语句或 lambda 表达式创建。
内置函数
  使用 C 语言(CPython)实现的函数,如 len 或 time.strftime。
内置方法
  使用 C 语言实现的方法,如 dict.get。
方法
  在类的定义体中定义的函数。
  调用类时会运行类的 __new__ 方法创建一个实例,然后运行__init__ 方法,初始化实例,最后把实例返回给调用方。因为 Python没有 new 运算符,所以调用类相当于调用函数。(通常,调用类会创建那个类的实例,不过覆盖 __new__ 方法的话,也可能出现其他行为。)
类的实例
  如果类定义了 __call__ 方法,那么它的实例可以作为函数调用。
生成器函数
  使用 yield 关键字的函数或方法。调用生成器函数返回的是生成器对象。
?
Python 中有各种各样可调用的类型,因此判断对象能否调用,最安全的方法是使用内置的 callable() 函数:
>>> abs,str,13
(<built-in function abs>,<class str>,13)
>>> [callable(obj) for obj in (abs,13)]
[True,True,False]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读