从空间角度研究类
class Human:
mind = "聪明"
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self, argv):
self.hobby = "桌球"
Human.body = argv
print("吃饭")
xie = Human("xie yulin", 22)
一、何处可以添加对象属性
1、在类的__init__方法可以添加对象属性
2、在类的方法中可以添加对象属性
xie.eat()
print(xie.__dict__)
3、在类的外部中可以添加对象属性
xie.weight = 100
print(xie.__dict__)
二、何处添加类的属性?
1、类的内部
xie.eat("手")
print(Human.__dict__)
2、类的外部
Human.body = "脚"
print(Human.__dict__)
三、类与对象的关系
1、对象空间与类空间有相同的名字,对象. 肯定先从对象空间查找(对象空间有类对象指针)
xie.mind = "机智"
print(xie.mind)
print(Human.mind)
2、对象只能使用类属性,不能修改删除
del xie.mind # 报错
查询顺序:
对象.名字: 对象空间 ---> 通过对象空间的类对象指针 ---> 类空间 ---> 父类空间
类名.名字: 类空间 ---> 父类空间

浙公网安备 33010602011771号