1. 类属性
类属性:类对象拥有的属性,被类对象和实例对象共有,内存中只存在一份副本,如果是公有类属性,可以通过类对象和实例对象访问。
类属性:在类的内部,方法外面定义,所有对象共享,占一份内存。
注:
- 类属性的分类:共有类属性、私有类属性、保护类属性。
- 私有雷属性不可以再类的外部访问,包括实例对象和类对象都不行。
- 在类的内部,实例方法中,可以通过类对象和实例对象访问。
2. 实例
class BmwCar(object):
brand = 'BMW'
def __init__(self, style, color):
self.style = style
self.color = color
if __name__ == '__main__':
print(BmwCar.brand)
car1 = BmwCar('x1', 'white')
print(car1.brand)
注:
- 类属性通过类对象来修改。
- 不可以通过实例对象来修改,否则增加的只是一个动态属性而已(init里面如果有这个字段就覆盖)。
3. 类方法
- 类方法的格式
@class method
def 方法名(cls):
pass
- 可以修改类属性。
- 可以通过类对象或实例对象访问。