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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
python实现飞机大战微信小游戏
Mar 21 Python
python重试装饰器的简单实现方法
Jan 31 Python
python二进制文件的转译详解
Jul 03 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 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多线程抓取网页实现代码
2010/07/22 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
任意位置显示html菜单
2007/02/01 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
Python中join和split用法实例
2015/04/14 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
String和StringBuffer的区别
2015/08/13 面试题
竞选学生会演讲稿
2014/04/25 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
Python+tkinter实现高清图片保存
2022/03/13 Python