callable怎样在python中判断类的调用?

在python中除了调用函数外,另一项比较常见的调用就是类了。对于很多初学者来言,是不能分清楚这个类是否能被调用的。不过我们也可以通过callable()函数来帮助检验,根据callable输出结果的True或者False来进行判断。下面我们就来了解callable的基本说明和实例演练。

1.说明

callable() 是一个bool函数,可以确定一个对象是否可以通过操作符()来调用,如果函数可以调用,返回True,否则返回False

注意类是callable的,因为调用类将会返回有一个新的实例。如果类的实例实现了__call__()方法,那么该实例也是callable的。

2.参数

object -- 对象

3.返回值

可调用返回 True,否则返回 False。

4.实例

#callable(object)
#如果参数object是可调用的就返回True,否则返回False。如果返回True,调用仍可能失败,但如果返回False,则调用object将肯定不会成功。请注意类是可调用的(调用类将返回一个新的实例);如果实例所属的类有__call__()则它就是可调用的。
#
#3.2新版功能:这个函数一开始在Python3.0被移除了,但在Python3.2被重新加入。

##如果参数object是可调用的就返回True,否则返回False。
print(f'{callable(callable)=}')
deffunction():
pass
print(f'{callable(function)=}')
print(f'{callable(123)=}')
print(f'{callable("test")=}')
#请注意类是可调用的(调用类将返回一个新的实例);
print('--------')
classC:
pass
print(f'{callable(C)=}')
#如果实例所属的类有__call__()则它就是可调用的。
print(f'{callable(C())=}')
print('--------')
classC:
def__call__(self):
return"test"
print(f'{callable(C())=}')
print(f'{C()()=}')