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封装对象实现时间效果
Apr 23 Python
Python升级提示Tkinter模块找不到的解决方法
Aug 22 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
python中装饰器级连的使用方法示例
Sep 29 Python
Python元组常见操作示例
Feb 19 Python
Python3远程监控程序的实现方法
Jul 15 Python
python中append实例用法总结
Jul 30 Python
TensorFlow 显存使用机制详解
Feb 03 Python
Windows安装Anaconda3的方法及使用过程详解
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
一个odbc连mssql分页的类
2006/10/09 PHP
使PHP自定义函数返回多个值
2006/11/26 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
js传值 判断
2006/10/26 Javascript
js 目录列举函数
2008/11/06 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
利用node.js如何搭建一个简易的即时响应服务器
2017/05/28 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
房屋产权证明书
2014/10/15 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
科技活动总结范文
2015/05/11 职场文书
演讲开场白台词大全
2015/05/29 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书