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控制台英汉汉英电子词典
Apr 23 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 Python
Python输出各行命令详解
Feb 01 Python
浅析python中的迭代与迭代对象
Oct 08 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
Python中SQLite如何使用
May 27 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 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查询域名状态whois的类
2006/11/25 PHP
收集的php编写大型网站问题集
2007/03/06 PHP
深入解析php之sphinx
2013/05/15 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
详解PHP归并排序的实现
2016/10/18 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
JavaScript入门基础
2015/08/12 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Python复制文件操作实例详解
2015/11/10 Python
bpython 功能强大的Python shell
2016/02/16 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
python中round函数保留两位小数的方法
2020/12/04 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
东方电视购物:东方CJ
2016/10/12 全球购物
Linux文件系统类型
2012/02/15 面试题
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
ipad隐藏软件app图标方法
2022/04/19 数码科技