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 的 with 语句详解
Jun 13 Python
Python检测一个对象是否为字符串类的方法
May 21 Python
python requests 使用快速入门
Aug 31 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python连接mongodb密码认证实例
Oct 16 Python
我喜欢你 抖音表白程序python版
Apr 07 Python
Python concurrent.futures模块使用实例
Dec 24 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
Nov 28 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加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
laravel自定义分页效果
2017/07/23 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
Javascript 强制类型转换函数
2009/05/17 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python实现定时提取实时日志程序
2018/06/22 Python
python for和else语句趣谈
2019/07/02 Python
django 简单实现登录验证给你
2019/11/06 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
为什么要做架构设计
2015/07/08 面试题
商务日语专业毕业生求职信
2013/10/26 职场文书
部队领导证婚词
2014/01/12 职场文书
信访工作者先进事迹
2014/01/17 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
鲁冰花观后感
2015/06/10 职场文书
Nginx快速入门教程
2021/03/31 Servers
浅谈Python魔法方法
2021/06/28 Java/Android
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android