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 os.path模块常用方法实例详解
Sep 16 Python
linux中如何使用python3获取ip地址
Jul 15 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
python中sympy库求常微分方程的用法
Apr 28 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
python怎么调用自己的函数
Jul 01 Python
在终端启动Python时报错的解决方案
Nov 20 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 Python
解决pytorch 损失函数中输入输出不匹配的问题
Jun 05 Python
Python requests用法和django后台处理详解
Mar 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
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
php使用session二维数组实例
2014/11/06 PHP
php实现简单加入购物车功能
2017/03/07 PHP
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
webpack4 optimization使用总结
2019/11/10 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Python爬虫与反爬虫大战
2020/07/30 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
财务经理岗位职责范本
2015/04/08 职场文书
幼儿园六一主持词
2015/06/30 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
2022/04/20 Python