Python學習筆記之 Python設計思想&設計原則

Python設計思想&設計原則

設計思想

1.封裝

數據角度

多種數據合為一種數據

優勢:程式碼可讀性高

           將數據與行為相關聯

例如:電腦(記憶體,儲存空間,…)

行為角度

提供[必要]功能,隱藏細節(方法體,方法本身)

隱藏成員,以雙下劃線命名(如:__a)

屬性:保護數據(加工數據,只讀,只寫)

實例:

class A:
    def __init__(self,n):
        self.__n = n
    @property
    def n(self):
        return self.__n
    @n.setter
    def n(self,value):
        self.__n = value
    @n.deleter
    def n(self):
        print("n被del了")
a = A(10)
print(a).n # 10
a.n = 20
print(a).n # 20
del a.n # n被del了

@property 詳解

設計角度

分而治之:需求分為多個類(行為)

變則疏之:將變化點單獨定義到類中

高內聚:一個類的內部 干一件事。單一職責

低耦合:類與類的關係鬆散

類與類行為不同,對象與對象數據不同

2.多態

傳入不同的實例對象,做不同的事

實例:

class Player:
    def __init__(self,name):
        self.name = name
    def attack(self,player):
        print(f'{player.name} 被 {self.name} 攻擊了')

player1 = Player('小宇宙zjy')
player2 = Player('小杜同學')
player1.attack(player2) # 小杜同學 被 小宇宙zjy 攻擊了