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中集合的内建函数和内建方法学习教程
Aug 19 Python
Python实现图片转字符画的示例
Aug 22 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
python3.4实现邮件发送功能
May 28 Python
django js实现部分页面刷新的示例代码
May 28 Python
Django restframework 源码分析之认证详解
Feb 22 Python
python pandas时序处理相关功能详解
Jul 03 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python多线程thread及模块使用实例
Apr 28 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
详解python程序中的多任务
Sep 16 Python
PyTorch 如何设置随机数种子使结果可复现
May 12 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
33种Javascript 表格排序控件收集
2009/12/03 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
Python3.x中自定义比较函数
2015/04/24 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
后勤人员岗位职责
2013/12/17 职场文书
工作会议欢迎词
2014/01/16 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
干部下基层实施方案
2014/03/14 职场文书
生活小常识广播稿
2014/09/16 职场文书
家属联谊会致辞
2015/07/31 职场文书
护理培训心得体会
2016/01/22 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js