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了
设计角度
分而治之:需求分为多个类(行为)
变则疏之:将变化点单独定义到类中
高内聚:一个类的内部 干一件事。单一职责
低耦合:类与类的关系松散
类与类行为不同,对象与对象数据不同
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 攻击了