python中__call__方法示例分析


Posted in Python onOctober 11, 2014

本文实例讲述了python中__call__方法的用法,分享给大家供大家参考。具体方法分析如下:

Python中的__call__允许程序员创建可调用的对象(实例),默认情况下, __call__()方法是没有实现的,这意味着大多数实例是不可调用的。然而,如果在类定义中覆盖了这个方法,那么这个类的实例就成为可调用的。

test.py文件如下:

#!/usr/bin/python
# Filename:test.py
 
class CallTest():
  def __init__(self):
    print 'init'
 
  def __call__(self):
    print 'call'
 
call_test = CallTest()

执行结果:
没有重写__call__:

>>> from test import CallTest
init
>>> t = CallTest()
init
>>> callable(t)
False
>>> t()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: CallTest instance has no __call__ method
>>>

重写__call__:

>>> from test import CallTest
init
>>> t = CallTest()
init
>>> callable(t)
True
>>> t()
call
>>>

希望本文所述对大家的Python程序设计有所帮助

Python 相关文章推荐
Python的mysql数据库的更新如何实现
Jul 31 Python
基于Python的文件类型和字符串详解
Dec 21 Python
Python中存取文件的4种不同操作
Jul 02 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
Python数据可视化:泊松分布详解
Dec 07 Python
python文件和文件夹复制函数
Feb 07 Python
基于python3实现倒叙字符串
Feb 18 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 Python
python多重继承实例
Oct 11 #Python
Python之PyUnit单元测试实例
Oct 11 #Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 #Python
跟老齐学Python之编写类之四再论继承
Oct 11 #Python
Python使用MySQLdb for Python操作数据库教程
Oct 11 #Python
跟老齐学Python之编写类之三子类
Oct 11 #Python
跟老齐学Python之编写类之二方法
Oct 11 #Python
You might like
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
面包屑导航详解
2017/12/07 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
使用python实现扫描端口示例
2014/03/29 Python
python变量不能以数字打头详解
2016/07/06 Python
Python3 Random模块代码详解
2017/12/04 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
盛大笔试题
2016/11/05 面试题
如何理解transaction事务的概念
2015/05/27 面试题
股东合作协议书
2014/04/14 职场文书
任命书范本大全
2014/06/06 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
病人慰问信范文
2015/02/15 职场文书
商场收银员岗位职责
2015/04/07 职场文书
公司辞职信模板
2015/05/13 职场文书
交流会主持词
2015/07/02 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书