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 threading模块操作多线程介绍
Apr 08 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
python实现图片九宫格分割
Mar 07 Python
Python实现时间序列可视化的方法
Aug 06 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
python统计字符的个数代码实例
Feb 07 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
python 模块导入问题汇总
Feb 01 Python
Python数据分析入门之数据读取与存储
May 13 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实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
javascript 贪吃蛇实现代码
2008/11/22 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
python实现的阳历转阴历(农历)算法
2014/04/25 Python
详解python中的json的基本使用方法
2016/12/21 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
详解【python】str与json类型转换
2019/04/29 Python
python里运用私有属性和方法总结
2019/07/08 Python
Apache部署Django项目图文详解
2019/07/30 Python
在python中做正态性检验示例
2019/12/09 Python
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
工作室成员个人发展规划范文
2014/01/24 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
同学聚会邀请函
2015/01/30 职场文书
化验室安全管理制度
2015/08/06 职场文书