定义元类时,是否有任何理由选择__new__而不是__init__?

定义元类时,是否有任何理由选择__new__而不是__init__?,第1张

定义元类时,是否有任何理由选择__new__而不是__init__?

如果要在创建类之前更改属性dict或更改基元组,则必须使用

__new__
。当
__init__
看到参数时,该类对象已经存在。另外,
__new__
如果要返回除所讨论类型的新创建的类以外的其他内容,则必须使用。

另一方面,在

__init__
运行时,该类确实存在。因此,您可以执行一些 *** 作,例如将对刚刚创建的类的引用提供给其成员对象之一。

编辑 :更改了措辞,以使其更清楚地表明“对象”是指类对象。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存