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使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
python aiohttp的使用详解
Jun 20 Python
python的scipy实现插值的示例代码
Nov 12 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
Python调用C/C++的方法解析
Aug 05 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
7个关于Python的经典基础案例
Nov 07 Python
python神经网络学习 使用Keras进行回归运算
May 04 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+APACHE实现网址伪静态
2015/02/22 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
jQuery实现冻结表头的方法
2015/03/09 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
2016/11/30 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
python实现小球弹跳效果
2019/05/10 Python
Python如何将函数值赋给变量
2020/04/28 Python
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
大学生就业求职信
2014/06/12 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
2015年司机工作总结
2015/04/23 职场文书
MySQL事务的隔离级别详情
2022/07/15 MySQL