Почему __new__ в классах нового стиля Python не является методом класса?
Список изменений для Python 2.2 (где были представлены классы нового стиля) говорит следующее о__new__
функция:
__new__
это статический метод, а не метод класса. Сначала я думал, что это должен быть метод класса, и поэтому я добавилclassmethod
примитивный. К сожалению, с методами класса upcalls не работают правильно в этом случае, поэтому мне пришлось сделать его статическим методом с явным классом в качестве первого аргумента.
Однако я не могу думать о том, почему методы класса не будут работать для этой цели, и это будет выглядеть лучше. Почему не__new__
в конце концов, как метод класса в конце? На что ссылается Гвидо, когда говорит, что «в этом случае upcalls не работают правильно»?