#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()))
#可调用对象的类型
-
函数:包括内置函数、自定义函数和 lambda 表达式。
def greet(): print("Hello!") print(callable(greet)) # 输出: True
-
方法:类中定义的方法。
class MyClass: def method(self): pass obj = MyClass() print(callable(obj.method)) # 输出: True
-
类:类本身是可调用的,因为调用类会创建一个实例。
class MyClass: pass print(callable(MyClass)) # 输出: True
-
实现了
__call__
方法的对象:如果一个类实现了__call__
方法,其实例也可以被调用。class CallableClass: def __call__(self): print("Called!") obj = CallableClass() print(callable(obj)) # 输出: True