@property
功能:通过property装饰器控制类的属性的绑定与获取,一般就是给某个属性增加一个验证类型等功能。
能够通过实例直接点出属性值来,更加方便快捷
@staticmethod
功能:将被装饰的函数从类中分离出来,该函数不能访问类的属性,简单说可以将该函数理解为一个独立的函数,不允许使用self。staticmethod 就是将该被装饰的函数与该类没有关系,该函数不能用self传参,需要和普通函数一样传参。
作用:
限制名称空间,这个函数虽然是个普通的函数,但只有这个类里能用到
代码易读性.静态方法并不需要self参数
约内存.不用每个实例都实例化方法.
在类内部控制静态方法.不然的话换一种实现方法,把函数放在在类外部
@classmethod
工厂模式的一个方法
class method可以用来为一个类创建一些预处理的实例.
类方法只能找类变量,不能访问实例变量,