Python 的内置函数 callable() 用于检查一个对象是否可以被调用(即是否是可调用对象)。可调用对象指的是那些可以像函数一样通过使用圆括号 () 来调用的对象,例如函数、方法、类或实现了 __call__ 方法的对象。
语法
callable(object)
示例
-
检查函数是否可调用:
def greet(): print("Hello!") print(callable(greet)) # 输出:True -
检查类是否可调用(类本身是可调用的,用于创建实例):
class MyClass: pass print(callable(MyClass)) # 输出:True -
检查实例是否可调用(默认情况下实例不可调用,除非实现了
__call__方法):obj = MyClass() print(callable(obj)) # 输出:False -
实现
__call__方法使实例可调用:class CallableClass: def __call__(self): print("Instance called!") obj = CallableClass() print(callable(obj)) # 输出:True obj() # 输出:"Instance called!" -
检查内置函数是否可调用:
print(callable(print)) # 输出:True -
检查不可调用对象:
num = 42 print(callable(num)) # 输出:False
应用场景
- 动态调用检查:在需要动态确定一个对象是否可调用时(例如在实现插件系统或回调机制时),
callable()非常有用。 - 元编程:在编写框架或库时,可能需要检查用户提供的对象是否可调用。
- 调试:快速验证某个对象是否支持调用操作。
注意事项
callable()返回True并不保证调用一定会成功,它只是检查对象在形式上是否可调用。实际调用时可能会因参数不匹配或其他原因引发异常。- 在 Python 3.x 中,
callable()是一个内置函数;在 Python 2.x 中,它曾经被移除过一段时间,但后来又重新引入。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦