类实际上就是一个数据结构,对于python而言,它是一个类似于字典的结构。当根据类创建了对象之后,这个对象就有了一个数据结构,包含一些赋值了的属性。在这一点上,它和其它语言的struct的作用是类似的:存储数据并提供数据检索功能。
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))
# 删除对象属性
del Tom.age
# print(Tom.age) # AttributeError: 'Notes' object has no attribute 'age'
# 注意:一个类实例化两个对象(obj1,obj2),obj1不能访问obj2的对象属性