本文實例講述了Python callable()函數用法。分享給大家供大家參考,具體如下:
python中的內建函數callable( ) ,可以檢查一個對象是否是可調用的 。
對于函數, 方法, lambda 函數式, 類, 以及實現了 _ _call_ _ 方法的類實例, 它都返回 True.
>>> help(callable)Help on built-in function callable in module __builtin__:callable(...) callable(object) -> bool Return whether the object is callable (i.e., some kind of function). Note that classes are callable, as are instances with a __call__() method.
1》函數是可調用的
>>> def add(x,y):... return x+y...>>> callable(add)True
2》類和類內的方法是可調用的
>>> class C:... def printf(self):... print 'This is class C!'...>>> objC=C()>>> callable(C)#類是可調用的,調用它們, 就產生對應的類實例.True>>> callable(C.printf)True>>> callable(objC.printf)True
3》實現了__call__()方法的類實例是可調用的
>>> class A:... def printf(self):... print 'This is class A!'...>>> objA=A()>>> callable(A) #類是可調用的,調用它們, 就產生對應的類實例.True>>> callable(objA) #類A沒有實現__call__()方法,因此,類A的實例是不可調用的False>>> class B:... def __call__(self):... print 'This is class B!'...>>> objB=B()>>> callable(B) #類是可調用的,調用它們, 就產生對應的類實例.True>>> callable(objB) #類B實現了__call__()方法,因此,類B實例是可調用的True
4》lambda表達式是可調用的
>>> f=lambda x,y:x+y>>> f(2,3)5>>> callable(f)True
其它的,像整數,字符串,列表,元組,字典等等,都是不可調用的,如下:
>>> callable(2)False>>> callable('python')False>>> l=[1,2,3]>>> callable(l)False>>> t=(4,5,6)>>> callable(t)False>>> d={'a':1,'b':2}>>> callable(d)False更多關于Python相關內容感興趣的讀者可查看本站專題:《Python函數使用技巧總結》、《Python數據結構與算法教程》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答