39.类属性

发布时间 2023-11-17 11:42:36作者: 想要暴富的小男孩

类对象与实例对象不同,可以理解为实例对象是由类对象复制而来,每个实例对象之间具有数据独立性。而类对象在程序运行过程中,只有一个。

既然是对象,那么就可以拥有自己的属性,在类中定属性时,属性名有self前缀的是实例属性,而在类中直接定义的属性即为类属性。

# 定义一个饮水机类
class WaterDispenser:
# 剩余水量
surplus_water = 1500

# 出水口
def water_outlet(self, n):
WaterDispenser.surplus_water -= n
print('剩余水量:', WaterDispenser.surplus_water)


wd1 = WaterDispenser()
wd2 = WaterDispenser()
wd1.water_outlet(100)
wd2.water_outlet(300)
print(WaterDispenser.surplus_water)

类属性特征:

  • 在类中直接定义的变量为类属性
  • 在方法中使用类属性时,需要使用类名做为前缀 类名.类属性名
  • 在类的外部可以通过类名或实例对象名访问类属性
  • 所有的实例对象名共享一个类属性
  • 实例对象只能获取类属性的值,不能直接进行修改,只能通过方法进行修改