Может ли Super иметь дело с множественным наследованием?

При наследовании от двух подобных объектов

class Foo(object):
  def __init__(self,a):
    self.a=a

class Bar(object):
  def __init__(self,b):
    self.b=b

я обычно делал бы что-то вроде этого

class FooBar(Foo,Bar):
  def __init__(self,a,b):
    Foo.__init__(self,a)
    Bar.__init__(self,b)

Как super узнает, хочу ли я вызвать оба? и если да, то как он узнает, какой аргумент и куда передать. Или здесь просто невозможно использовать super?

Даже если Foo и Bar принимают одни и те же аргументы, может ли super справиться с этим?

Или мне не следует пытаться сделать это в первую очередь?

10
задан GP89 26 October 2011 в 13:36
поделиться