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发送邮件功能实现代码
Jul 15 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
python实现贪吃蛇游戏
Mar 21 Python
如何利用Pyecharts可视化微信好友
Jul 04 Python
python+opencv像素的加减和加权操作的实现
Jul 14 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
Django serializer优化类视图的实现示例
Jul 16 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
python实现简单倒计时功能
Apr 21 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 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模糊查询的实现方法(推荐)
2016/09/06 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
2015/11/09 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
jQuery事件对象总结
2016/10/17 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
Python交换变量
2008/09/06 Python
深入解析Python中的urllib2模块
2015/11/13 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
应届生求职信范文
2014/05/26 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
电话营销开场白
2015/05/29 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
Java 数组内置函数toArray详解
2021/06/28 Java/Android