直接定义在类中的变量就是类属性 类属性的值不会因为对象不同而不一样
通过self.属性名 = 值 定义在init函数中的属性 对象属性的值会因为对象的不同而不一样
python 中类的对象的属性支持增删改查
class Student: def __int__(self,name = '小明',age = 0,gender = '男',score = 0): self.name = name self.age = age self.gender = gender self.score = score def __repr__(self): return f'<{str(self.__dict__)[1:-1]}>' stu1 = Student stu1.name = '小明' print(stu1)对象.属性 - 获取对象指定属性对应的值 getattr(对象,属性名) - 获取对象指定属性对应的值 getattr(对象,属性名,默认值) - 获取对象指定属性对应的值,属性不存在会报错
print(stu1.name) print(getattr(stu1,'name')) print(getattr(stu1,'age')) print(getattr(stu1,'name','佚名')) print(getattr(stu1,'age')) 根据输入的内容获取对象属性的值 ```python value = input('请选择(name,age,gende,score):') print(getattr(stu1,value))对象.属性 = 值 - 当属性不存在就给对象添加属性,属性存在的时候就修改属性的值 setattr(对象,属性名,值) - 当属性不存在的时候就给对象添加属性,属性存在的时候就修改指定属性的值
stu1.name = 'xiaoming' print(stu1) setattr(stu1,'age',18)del 对象.属性 - 删除对象中指定的属性 delatter(对象,属性名) - 删除对象中指定的属性
del stu1.name print(stu1) delattr(stu1,'gender') print(stu1)