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实现通过代理服务器访问远程url的方法
Apr 29 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
Aug 22 Python
详解用python写一个抽奖程序
May 10 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
Python ConfigParser模块的使用示例
Oct 12 Python
python爬虫框架feapde的使用简介
Apr 20 Python
关于的python五子棋的算法
May 02 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中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
vue实现通讯录功能
2018/07/14 Javascript
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
基于hashlib模块--加密(详解)
2017/06/21 Python
Python中Threading用法详解
2017/12/27 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
详解Python字典小结
2018/10/20 Python
python3安装speech语音模块的方法
2018/12/24 Python
Python 使用多属性来进行排序
2019/09/01 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
机电专业求职信
2014/06/14 职场文书
治安消防安全责任书
2014/07/23 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
自主招生自荐信范文
2015/03/04 职场文书
员工工作表扬信
2015/05/05 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书