Python学习笔记之 Python设计思想&设计原则

2020-08-08

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 攻击了