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中编写ORM框架的入门指引
Apr 29 Python
python实现线程池的方法
Jun 30 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
Python+tkinter使用80行代码实现一个计算器实例
Jan 16 Python
用python爬取租房网站信息的代码
Dec 14 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
Django框架视图函数设计示例
Jul 29 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
python datetime时间格式的相互转换问题
Jun 11 Python
python unichr函数知识点总结
Dec 16 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 cron中的批处理
2008/09/16 PHP
php 中英文语言转换类代码
2011/08/11 PHP
php的ajax简单实例
2014/02/27 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
htm调用JS代码
2007/03/15 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
Python第三方库的安装方法总结
2016/06/06 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
c语言常见笔试题总结
2016/09/05 面试题
团组织关系介绍信
2014/01/12 职场文书
三八节主持词
2014/03/17 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
单位接收函范文
2015/01/30 职场文书
世界文化遗产导游词
2015/02/13 职场文书
配置Kubernetes外网访问集群
2022/03/31 Servers
Python使用pyecharts控件绘制图表
2022/06/05 Python
Moment的feature导致线上bug解决分析
2022/09/23 Javascript