鱼C论坛

 找回密码
 立即注册
查看: 1953|回复: 2

[已解决]__call__方法应用

[复制链接]
发表于 2024-9-19 13:38:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在创建对象时,是不是通过__call__方法调用new方法和init方法呢?如果不是call是如何运用和实现应用的,请举例演示一下
最佳答案
2024-9-19 13:48:21
本帖最后由 isdkz 于 2024-9-22 01:34 编辑

__call__做法是可调用对象在执行调用操作时执行的方法

而一个类在实例化的时候,例如Turtle(),在一个对象后面跟个括号实质上就是调用操作

这时候Turtle就作为一个可调用对象,即Turtle是由谁实例化而来,就调用了谁的__call__方法,一个类是由该类的元类实例化而来

所以一个类在实例化的时候,实际上是调用了这个类的元类的__call__方法,然后对这个类的__new__、__init__方法的调用,就是在这个类的元类的__call__方法中进行的,你的理解没有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 23:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表