Python callable()函数用法实例分析

白榆
白榆
发布时间:2026-10-13 | 2人浏览过
原创

本文详解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编程实践提供有益帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表