Как правильно наследовать от суперкласса, который имеет метод __new__?
Предположим, что у нас есть класс Parent. , что по какой-то причине имеет__new__
определен и класс «ребенок»; что наследует от этого.
(В моем случае я пытаюсь наследовать от стороннего класса, который я не могу изменить)
class Parent:
def __new__(cls, arg):
# ... something important is done here with arg
Моя попытка была:
class Child(Parent):
def __init__(self, myArg, argForSuperclass):
Parent.__new__(argForSuperclass)
self.field = myArg
Но пока
p = Parent("argForSuperclass")
работает как положено
c = Child("myArg", "argForSuperclass")
терпит неудачу, потому что «ребенок» пытается позвонить__new__
метод, который он наследует от «родителя» вместо своего__init__
метод.
Что я должен изменить в «Ребенке»? получить ожидаемое поведение?