@zlodiak

Откуда наследуется конструктор?

В python3 можно перегружать методы. Например:
class A:
    def go(self):
        print('A!')

class B(A):
    def go(self):
        print('B!')


Здесь класс B наследуется от класса A. Но благодаря перегрузке в классе B метод go() был подменён. С этим понятно.

Но не понятно каким образом можно перегружать в любом классе конструктор __init__(). Насколько я понимаю этот конструктор ни откуда не наследуется. например:
class C:
    __init__(self, name):
        self.name = name


Это самый обычный код, но class C не имеет родителя, судя по записи.
  • Вопрос задан
  • 335 просмотров
Решения вопроса 1
longclaps
@longclaps
Имеет:
class C:
    def __init__(self, name):
        self.name = name

print(C.__mro__ )
print(isinstance(C('Вася'), object))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы