Documentation for object.__new__(cls[, ...])
says:Python __new__ - как ЦБС отличаться от класса, который __new__ в
Called, чтобы создать новый экземпляр класса
cls
. __new
__ - статический метод (специально обжатый, поэтому вам не нужно объявлять его как таковой), который принимает класс, для которого экземпляр был запрошен как его первый аргумент.
Так что если у вас есть var = MyClass()
и
class MyClass:
def __new__(cls):
...
Не cls
ВСЕГДА быть равна MyClass
?
Подсказка: что произойдет, если вы создадите подкласс, который наследует 'MyClass'? –
Что делать, если '__new__' был унаследован производным классом? – cdarke