Я очень много нового в объектно-ориентированном программировании на Python, и у меня проблемы
понимая функцию super()
(новые классы стиля), особенно когда речь идет о множественном наследовании.
Например, если у вас есть что-то вроде:
class First(object):
def __init__(self):
print "first"
class Second(object):
def __init__(self):
print "second"
class Third(First, Second):
def __init__(self):
super(Third, self).__init__()
print "that it"
То, что я не получаю: будет ли класс Third()
наследовать оба метода конструктора? Если да, то какой из них будет запущен с помощью super() и почему?
А что, если вы хотите запустить другой? Я знаю, что это имеет какое-то отношение к порядку разрешения метода Python (MRO).