在讲解Python对象属性的增删改查操作之前我们需要了解一下变量和属性的关系和区别。变量:是一个可以改变的量值,根据所在位置不同有着不同的访问权限(全局变量和局部变量);属性:只能通过对象和类访问,对象名也是变量,所以访问的时候也要注意权限问题。
属性主要分为两种,类属性和对象属性,这里先讲一下对象属性的增删改查,先创建一个类,再使用这个类实例化一个对象。
class Notes:
pass
print(Notes)
Tom = Notes()
print(Tom)
1.直接添加(对象.属性 = 值)
Tom.age = 18 # 增
print(Tom.age) # 查属性值
print(Tom.__dict__) # 查对象中的属性和值
print(Notes.__dict__) # 查对类的属性和值
# print(Tom.height) # 访问不存在的属性:AttributeError: 'Notes' object has no attribute 'height'
2.通过类的构造方法添加(__init__)
修改对象属性值,类似于变量值修改,如果对象有同名属性直接修改,没有就是添加新属性。
Tom.weight = 150
print(Tom.weight)
print(id(Tom.weight))
Tom.weight = 155
print(id(Tom.weight))
3.删除对象属性
del Tom.age
print(Tom.age)
返回结果:
AttributeError: 'Notes' object has no attribute 'age'
4.修改对象属性
修改就是给对象属性重新赋值。