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 Web框架Flask中使用新浪SAE云存储实例
Feb 08 Python
python 系统调用的实例详解
Jul 11 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
Django中的FBV和CBV用法详解
Sep 15 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
pandas数据拼接的实现示例
Apr 16 Python
python同时遍历两个list用法说明
May 02 Python
python基于tkinter制作下班倒计时工具
Apr 28 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 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
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python实现可变变量名方法详解
2019/07/01 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
浅析Python __name__ 是什么
2020/07/07 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
英国在线花园中心:You Garden
2018/06/03 全球购物
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
手机银行营销方案
2014/03/14 职场文书
《春笋》教学反思
2014/04/15 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server