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


Posted in Python onMarch 17, 2018

本文实例讲述了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中遍历文件的3个方法
Sep 02 Python
Python3 正在毁灭 Python的原因分析
Nov 28 Python
python实现TCP服务器端与客户端的方法详解
Apr 30 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 Python
Python3 assert断言实现原理解析
Mar 02 Python
Python unittest单元测试框架及断言方法
Apr 15 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 Python
Django解决frame拒绝问题的方法
Dec 18 Python
python通过opencv调用摄像头操作实例分析
Jun 07 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 #Python
python中matplotlib的颜色及线条控制的示例
Mar 16 #Python
Python lambda函数基本用法实例分析
Mar 16 #Python
Python切片操作实例分析
Mar 16 #Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 #Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 #Python
python xlsxwriter库生成图表的应用示例
Mar 16 #Python
You might like
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
Python去掉字符串中空格的方法
2014/03/11 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python常用库推荐
2016/12/04 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
django rest framework 自定义返回方式
2020/07/12 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
Windows和Linux动态库应用异同
2016/04/17 面试题
校园文化建设方案
2014/02/03 职场文书
伊琍体标语
2014/06/25 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
简历自我评价模板
2015/03/11 职场文书
2015个人简历自我评价语
2015/03/11 职场文书