5. callable函数

作用

callable() 函数用于动态检查一个对象是否可以被调用(即是否实现了 __call__ 方法)。如果对象是可调用的(如函数、方法、类或实现了 __call__ 的对象),则返回 True,否则返回 False。

调用格式

内置函数
对应的特殊方法
说明
callable(obj)
__call__()
检测一个是否能像函数一样通过括号() 调用。

示例

Dog 类内没有 __call__ 方法时,Dog() 创建的对象不可以调用。

# callable函数 示例

class Dog:
    pass

dog1 = Dog()

print(callable(len))  # True
print(callable(Dog))  # True
print(callable(dog1))  # False

if callable(dog1):
    dog1()
    dog1.__call__()

运行结果

True
True
False

Dog 类内有 __call__ 方法时,Dog() 创建的对象可以调用。

# callable函数 示例

class Dog:
    pass
    def __call__(self, *args, **kwargs):
        pass

dog1 = Dog()

print(callable(len))  # True
print(callable(Dog))  # True
print(callable(dog1))  # True

if callable(dog1):
    dog1()
    dog1.__call__()

运行结果

True
True
True