【发布时间】:2012-02-23 21:52:55
【问题描述】:
Python 2.2 的变更日志(其中引入了新式类)对 __new__ 函数有以下说明:
__new__是静态方法,不是类方法。我最初认为它必须是一个类方法,这就是我添加classmethod原语的原因。不幸的是,对于类方法,向上调用在这种情况下无法正常工作,因此我不得不将其设为静态方法,并以显式类作为其第一个参数。
但是,我想不出为什么类方法不能用于此目的,而且它肯定会更好看。为什么__new__ 最终没有成为类方法?当 Guido 说“在这种情况下向上调用不起作用”时,他指的是什么?
【问题讨论】:
标签: python new-operator language-design new-style-class