python中__call__()方法的用法
2023-09-27 14:29:16 时间
__call__()的用法
__call__()方法能够让类的实例对象,像函数一样被调用;
>>> >>> class A(object): def __call__(self, x): print('__call__ called, print x: ', x) >>> >>> a = A() >>> a('123') __call__ called, print x: 123 >>>
看a('123')这是函数的调用方法,这里a实际上是类对象A的实例对象,实例对象能想函数一样传参并被调用,就是__call__()方法的功能;
接下来用一段简单的代码,来总体感受一下三个方法的用法和区别:
>>> >>> class A(object): def __init__(self, x): print ('x in __init__', x) def __new__(cls, y): print 'y in __new__', y return super(A, cls).__new__(cls) def __call__(self, z): print( 'z in __call__', z) >>> >>> A('123')('abc') y in __new__ 123 x in __init__ 123 z in __call__ abc >>>
由执行结果可以看出,虽然__init__()方法定义在__new__()方法之前,但是结果中先展示了__new__()方法的执行结果;
相关文章
- python爬虫知识点总结(二十三)Scrapy中Download Middleware的用法
- 算法Python 输出百分比的方法(Python2输出百分比、Python3输出百分比)
- python 中的 del 使用方法
- 【华为OD机试真题 python】预订酒店【2022 Q4 | 100分】
- Python入门基础知识
- python中raise方法用法详解
- 《Python数据挖掘:概念、方法与实践》扩展你的数据挖掘工具箱
- Python: match case
- Python第三方库安装方法-转载
- 《Python高性能编程》——2.4 计时的简单方法——打印和修饰
- Windows下用python编写简单GUI程序的方法
- Python数据处理Tips数据连续变量常用10种处理方法
- Python数据处理Tips数据重复值处理常用方法
- Python实现比REST快10倍的用构建API的方法
- 数据科学必备用Python进行描述性统计数据分析详解
- Python教程之正则表达式实现拼音与中文提取并存储excel(教程含源码)
- Unicode研究之Python将Unihan_Readings.txt转化为SQLite数据库
- 【转载】python的魔法方法———A Guide to Python's Magic Methods
- 华为OD机试 -最少数量线段覆盖(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 小学生python游戏编程arcade----游戏界面按钮实现事件实现的三种方法
- Python 常见问题 之 python 安装包下载安装速度慢 的 快速解决方法(之一)
- python root:code for hash md5 was not found.错误
- python基础方法系列
- 记录python接口自动化测试--requests使用和基本方法封装(第一目)
- Python每日一学 05——布尔运算
- python下划线使用方法
- [Python] remove()方法