python中__call__方法示例分析
作者:shichen2014 发布时间:2023-01-16 04:31:31
标签:python,call,方法
本文实例讲述了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程序设计有所帮助


猜你喜欢
- 第一种:i=0sum=0a=0while i<102: if i>=1 and i%4==1: sum+=i eli
- 目录先说结论问题解决方案使用Promise封装回调函数总结先说结论业务流程: 从网络日志中检查到token过期,则跳转到登录页面
- 需求已知年份和历年最大冻土深度,计算最大冻土深度Mk突变检验。原理工具和语言pythonjupter notebook代码过程定义函数def
- jQuery 真是一个非常伟大的 javascript library,至少在我不会写 JS 的时候第一时间接触了它,虽然还有其他很多优秀的
- 本文实例讲述了CentOS环境下安装Redis3.0及phpredis扩展测试。分享给大家供大家参考,具体如下:线上的统一聊天及推送系统re
- 前言: 最近在学习过程中总是遇到np.random.seed()这个问题,刚开始总是觉得不过是一个简单的随机数种子,就没太在意,后来遇到的次
- 原理形态学是图像处理中常见的名词,图像处理的形态学基本属于数学形态学的范畴,是一门建立在格论和拓扑学基础上的图像分析学科。黑帽运算是结合了腐
- 简介 SQL Server OS是在Windows之上,用于服务SQL Server的一个
- 功能所在位置该功能运用了django.contrib.messages这个库,再django项目中srtting.py文件中的38行,APP
- 在开始部分,请看官非常非常耐心地阅读下面几个枯燥的术语解释,本来这不符合本教程的风格,但是,请看官谅解,因为列位将来一定要阅读枯燥的东西的。
- 前言:1、gevent库可以轻松实现并发同步或异步编程。gevent中使用的主要模式是Greenlet,它是以C扩展模块的形式访问Pytho
- 作者:Roland Smart原文链接:http://www.adaptivepath.com/ideas/newsletter/archi
- 这篇主要探讨 ** 和 * 前缀运算符,**在变量之前使用的*and **运算符.一个星(*):表示接收的参数作为元组来处理两个星(**):
- 不是说while就不用,比如前面所列举而得那个猜数字游戏,在业务逻辑上,用while就更容易理解(当然是限于那个游戏的业务需要而言)。另外,
- 本文作为属性篇的最后一篇文章, 将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin
- 功能描述:1)使用tkinter设计程序界面;2)调用Windows API函数实现录音机和音乐播放器。参考代码:运行界面:总结以上所述是小
- 首先要介绍的是 Python Imaging Library,使用方法如下:from PIL import Imagefrom PIL.Ex
- 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。这里的记录的优化技巧更适用于开发人
- order by 查询语句使用也是非常频繁,有时候数据量大了会发现排序查询很慢,本文就介绍一下 MySQL 是如何进行排序的,以及如何利用其
- #!/usr/bin/env Pythonfrom __future__ import print_functionfrom collect