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中捕捉详细异常信息的代码示例
Sep 18 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
详解Django配置优化方法
Nov 18 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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
使用 php4 加速 web 传输
2006/10/09 PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
php报错502badgateway解决方法
2019/10/11 PHP
jquery 获取json数据实现代码
2009/04/27 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
D3.js实现折线图的方法详解
2016/09/21 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
支付宝小程序tabbar底部导航
2018/11/06 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
医药代表个人的求职信分享
2013/12/08 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
事业单位请假制度
2014/01/13 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
老人院义工活动感想
2015/08/07 职场文书