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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
python使用socket向客户端发送数据的方法
Apr 29 Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 Python
Python本地与全局命名空间用法实例
Jun 16 Python
python开发之str.format()用法实例分析
Feb 22 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
第1次亲密接触PHP5(2)
2006/10/09 PHP
PHP 存储文本换行实现方法
2010/01/05 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
python实现rest请求api示例
2014/04/22 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Python缓存技术实现过程详解
2019/09/25 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
什么是java序列化,如何实现java序列化
2012/11/14 面试题
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
《莫泊桑拜师》教学反思
2014/04/23 职场文书
综合实践活动总结
2014/05/05 职场文书
团队队名口号大全
2014/06/06 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
爱护公物主题班会
2015/08/17 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技