Python callable()函数用法实例分析
本文详解Python内置函数callable()的用法,用于判断对象是否可调用。通过示例说明函数、类、实现__call__方法的实例及lambda表达式均为可调用对象,而整数、字符串等基础类型不可调用,帮助开发者理解Python对象调用机制。
本文通过具体实例解析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编程实践提供有益帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









