1538

8 分钟

#Python 的内置函数 callable

说明:判断对象是否可调用。

#函数说明

def callable(obj): ''' 判断对象是否可调用 :param obj: 一个对象 :return: 如果 obj 可以调用则返回 True,否则返回 False '''

说明

判断对象是否可以被调用,自定义类通过实现 __call__ 方法实现调用过程。

请注意,即使 callable 判断对象可以被调用,在实际调用对象时仍然可能会失败;但如果 callable 判断对象不可被调用,那么调用对象必定失败。

类是可调用的,调用类将返回一个新的实例,也即构造函数。

参数

  • obj - 要判断的变量

返回值

  • 如果对象可以被调用,则返回 True
  • 如果对象不可被调用,则返回 False

#示例

class Foo: pass class Bar: def __call__(self): pass def func(): pass print('数值', callable(10)) print('lambda', callable(lambda x:x)) print('函数', callable(func)) print('Foo 对象', callable(Foo())) print('Bar 对象', callable(Bar()))

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#可调用对象的类型

  1. 函数:包括内置函数、自定义函数和 lambda 表达式。

    def greet(): print("Hello!") print(callable(greet)) # 输出: True
  2. 方法:类中定义的方法。

    class MyClass: def method(self): pass obj = MyClass() print(callable(obj.method)) # 输出: True
  3. :类本身是可调用的,因为调用类会创建一个实例。

    class MyClass: pass print(callable(MyClass)) # 输出: True
  4. 实现了 __call__ 方法的对象:如果一个类实现了 __call__ 方法,其实例也可以被调用。

    class CallableClass: def __call__(self): print("Called!") obj = CallableClass() print(callable(obj)) # 输出: True

#推荐阅读

创建于 2025/6/9

更新于 2025/6/11