多重継承された場合のsuper

super(type[,object-or-type])で継承されたクラスが取得できるみたいだけど、多重継承されたクラスに同じメソッドがある場合どうなるのかなーと思って試してみた。

class SomeName(object):
    """ データとコードは通常ここで定義 """
    sample = 100
    
    def repeat(self, N):
        for i in range(N):
            print(i)

class Behave(object):
    def __init__(self, name):
        self.name = name
        
    def once(self):
        print "Hello,", self.name
    
    def rename(self, newName):
        self.name = newName
        
    def repeat(self, N):
        for i in range(N):
            self.once()

# どうも継承順序で優先されるメソッドが決定されるみたい
# SomeName.repeatが優先される
class OneMore2(SomeName,Behave):
    def repeat(self, N):
        super(OneMore2, self).repeat(N + 1)

# Behave.repeatが優先される
class OneMore3(Behave,SomeName):
    def repeat(self, N):
        super(OneMore3, self).repeat(N + 1)