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 client使用http post 到server端的代码
Feb 10 Python
python中wx将图标显示在右下角的脚本代码
Mar 08 Python
Python使用htpasswd实现基本认证授权的例子
Jun 10 Python
使用优化器来提升Python程序的执行效率的教程
Apr 02 Python
详解Python编程中包的概念与管理
Oct 16 Python
python 查找字符串是否存在实例详解
Jan 20 Python
Python编程flask使用页面模版的方法
Dec 28 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
Feb 03 Python
python和anaconda的区别
May 06 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
2016/08/02 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
Python创建文件和追加文件内容实例
2014/10/21 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
Django模板语言 Tags使用详解
2019/09/09 Python
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
建筑结构施工求职信
2014/07/11 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
公司车队管理制度
2015/08/04 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
Java 死锁解决方案
2022/05/11 Java/Android