class SuperString(str): def __init__(self, sourcestr): print(self) super().__init__(self, sourcestr.upper()) s = SuperString('mystring') print(s)
Результатом выполнения будет:
>>> mystring
>>> mystring
Как видно конструктор не переопределился, но все же был кем-то вызван.
Как правильно переопределить базовый класс, чтобы конструктор был переопределен также?
UPDATE: Python 3