class A:
def __init__(self):
print 'A'
class B(A):
def __init__(self):
print 'B'
b = B()
B
В C++ я бы ожидал увидеть вывод A B
, но в Python я получаю только B
. Я знаю, что могу сделать super(B, self).__init__()
, чтобы добиться того же самого в Python, но поскольку это, по-видимому, не является значением по умолчанию (или оно - я новичок в синтаксисе), я обеспокоен тем, что парадигмы для создания объектов полностью разные.Почему родительские конструкторы не вызываются при создании экземпляра класса?
Итак, какие объекты в Python, какова их связь с классами и каков стандартный способ инициализации всех данных во всех родительских классах в Python?
Помните, что 'super' работает только с классами нового стиля, которые происходят из' object'. –