python中__call__方法示例分析

作者:shichen2014 时间:2023-01-16 04:31:31 

本文实例讲述了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,call,方法
0
投稿

猜你喜欢

  • keras中epoch,batch,loss,val_loss用法说明

    2021-08-11 10:56:30
  • Python线程池thread pool创建使用及实例代码分享

    2022-02-26 00:43:35
  • Python求算数平方根和约数的方法汇总

    2021-12-08 18:03:39
  • Python绘制词云图之可视化神器pyecharts

    2023-02-23 01:35:25
  • PHP结构型模式之装饰器模式

    2023-05-30 08:43:07
  • 常用的Python代码调试工具总结

    2023-05-17 19:24:29
  • CentOS中使用virtualenv搭建python3环境

    2022-08-30 07:28:43
  • js实现input+select组合 抛砖引玉

    2010-08-02 12:34:00
  • 一步步教你用Python实现2048小游戏

    2023-02-15 20:51:29
  • 详解php中的类与对象(继承)

    2023-11-23 14:07:09
  • 实现框架页面iframe的背景透明方法

    2008-06-18 12:21:00
  • PHP源码之 ext/mysql扩展部分

    2023-07-21 18:24:20
  • 浅谈Python数学建模之数据导入

    2022-08-11 01:10:28
  • 自学python求已知DNA模板的互补DNA序列

    2022-07-05 13:24:56
  • 对fieldset和legend的默认样式一点分析

    2008-07-02 12:56:00
  • python实现证件照换底功能

    2021-07-02 03:57:01
  • 对python中的argv和argc使用详解

    2021-12-09 02:37:52
  • 浅析PHP中的字符串编码转换(自动识别原编码)

    2023-09-08 08:04:44
  • Div+CSS布局入门教程

    2007-09-13 12:52:00
  • Python+flask实现restful接口的示例详解

    2023-03-23 08:34:55
  • asp之家 网络编程 m.aspxhome.com