Python基于callable函数检测对象是否可被调用
英文文档:
callable(object)
ReturnTrueiftheobjectargumentappearscallable,Falseifnot.Ifthisreturnstrue,itisstillpossiblethatacallfails,butifitisfalse,callingobjectwillneversucceed.Notethatclassesarecallable(callingaclassreturnsanewinstance);instancesarecallableiftheirclasshasa__call__()method.
检测对象是否可被调用
说明:
1.方法用来检测对象是否可被调用,可被调用指的是对象能否使用()括号的方法调用。
>>>callable(callable) True >>>callable(1) False >>>1() Traceback(mostrecentcalllast): File"",line1,in 1() TypeError:'int'objectisnotcallable >>>
2.可调用对象,在实际调用也可能调用失败;但是不可调用对象,调用肯定不成功。
3.类对象都是可被调用对象,类的实例对象是否可调用对象,取决于类是否定义了__call__方法。
>>>classA:#定义类A pass >>>callable(A)#类A是可调用对象 True >>>a=A()#调用类A >>>callable(a)#实例a不可调用 False >>>a()#调用实例a失败 Traceback(mostrecentcalllast): File"",line1,in a() TypeError:'A'objectisnotcallable >>>classB:#定义类B def__call__(self): print('instancesarecallablenow.') >>>callable(B)#类B是可调用对象 True >>>b=B()#调用类B >>>callable(b)#实例b是可调用对象 True >>>b()#调用实例b成功 instancesarecallablenow.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。