zoukankan      html  css  js  c++  java
  • 可调用对象

    除了用户定义的函数,调用运算符(即 ())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的 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, str, 13)]
    [True, True, False]
    人生就是要不断折腾
  • 相关阅读:
    [leetCode]127. 单词接龙
    [leetCode]450. 删除二叉搜索树中的节点
    [leetCode]701. 二叉搜索树中的插入操作
    [leetCode]235. 二叉搜索树的最近公共祖先
    [leetCode]501. 二叉搜索树中的众数
    $Abstract^2 Interpretation$
    图说 Python 内存管理
    Python 解释器初探
    幸福之路
    Spark编程基础
  • 原文地址:https://www.cnblogs.com/xiangxiaolin/p/11606680.html
Copyright © 2011-2022 走看看