Pythonでプロパティとインタフェースを検索するルール

1246 ワード

Pythonで属性とインタフェースを検索するルールは、下から上へ【ベースクラスから上へ】、左から右へ【最も左側のベースクラスから検索】
# python    ,          
#    ,      
#               
#                        
#   C++          
#C++                 ,   
#      

#          ,          ,      。

class BaseA:
    name=""
    id="BaseA"
    
    def __init__(self):
        id="this is BaseA"
    
    def __repr__(self):
        print('name=%s id=%s' % (name, id))
    
class BaseB:
    name=""
    id = "BaseB"
    
    def __init__(self):
        id="this is BaseB"
        
    def __repr__(self):
        print('name=%s id=%s' % (name, id))
        
class Base(BaseA, BaseB):
    def showName(self):
        text = "your name=%s" % (self.name)
        print(text)
    def showID(self):
        print ("your id=%s" % (self.id))
    
class SuperA():
    id="SuperA"
        
if __name__ == "__main__":
    b1 = Base();
    #print(b1.showName())
    print(b1.showID())
    
    a = SuperA()
    print(a.id)
    
    #    
    #your id=BaseA
    #None
    #SuperA