可调用对象有哪些类型?

2026-06-11 06:182阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计620个文字,预计阅读时间需要3分钟。

可调用对象有哪些类型?

Python 中,除了用户自定义的函数外,还可以应用运算符到其他对象上。例如,除了调用用户定义的函数,还可以使用运算符(即 +(加号)和 ()(圆括号))直接作用于其他对象。

如果想要判断一个对象是否可以被调用,可以使用内置的 callable() 函数。

Python 的数据模型文档列出了 7 种可调用的对象类型:

可调用对象有哪些类型?

1. 用户定义的函数

2.类的实例(如果定义了 __call__ 方法)

3.任何带有 __call__ 方法的对象

4.生成器函数

5.类的构造器(即类本身)

6.内置函数,如 print() 和 len()

7.lambda 表达式

除了用户定义的函数,调用运算符(即 ())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的 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]

标签:函数调用

本文共计620个文字,预计阅读时间需要3分钟。

可调用对象有哪些类型?

Python 中,除了用户自定义的函数外,还可以应用运算符到其他对象上。例如,除了调用用户定义的函数,还可以使用运算符(即 +(加号)和 ()(圆括号))直接作用于其他对象。

如果想要判断一个对象是否可以被调用,可以使用内置的 callable() 函数。

Python 的数据模型文档列出了 7 种可调用的对象类型:

可调用对象有哪些类型?

1. 用户定义的函数

2.类的实例(如果定义了 __call__ 方法)

3.任何带有 __call__ 方法的对象

4.生成器函数

5.类的构造器(即类本身)

6.内置函数,如 print() 和 len()

7.lambda 表达式

除了用户定义的函数,调用运算符(即 ())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的 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]

标签:函数调用