概念和使用:
- 类属性就是给类对象中定义的属性
- 通常用来记录与这个类相关的特征
- 类属性不会用于记录具体对象的特征
示例需求:
- 定义一个工具类
- 每件工具都有自己的name
- 需求:知道使用这个类创建了多少个工具对象
class Tool(object):
# 使用赋值语句定义类属性 记录所有工具对象的数量
count = 0
def __init__(self, name):
self.name = name
# 让类属性的值+1
Tool.count += 1
# 创建工具对象
tool1 = Tool("斧头")
tool2 = Tool("榔头")
tool3 = Tool("水桶")
# 输出工具对象的总数
tool3.count = 99
print(Tool.count)
print("工具数量总数是%d" % tool3.count)
属性的获取机制:
- 在python中属性的获取存在一个向上查找机制
tool1.count
:
- 首先在对象内部查找对象属性
- 没有找到就会向上寻找类属性
- 因此,要访问类属性有两种方式:
- 类名.类属性
- 对象.类属性(不推荐)
- 注意: 如果使用
对象.类属性=值
赋值语句,只会给对象添加一个属性,而不会影响到类属性的值