Open huashengcaicai opened 5 years ago
class Animal(object): colour = 'red ' # 类是属性 def __init__(self): self.name = '小花' # 方法里的属性,实例属性 a = Animal.colour # 类对象类属性可以 b = Animal.name # 类对象不能访问实例属性 print(a) print(b)
class Person(object): country = 'china' #类属性 def init(self,name): self.name = name
agou = Person('阿狗') Person.country = '日本' # 类属性修改后,实例对象在访问类属性就是更新后的了 print(agou.country) agou.country = '美国' # 实例对象也可以访问,类属性,此时通过实例对象修改类属性 print(agou.country) # 这里指的被实例对象修改的类属性后,看看实例对象属性打印出来,看是否修改 print(Person.country) # 这里是指实例对象修改了类属性,那么类对象访问类属性,看看是否被修改,发现这里并没有修改,总结一下,类属性要通过类去修改
基本概念
类属性是指定义在类属性里,实例属性定义在方法里的
分享要点:1.主要是类对像和实例对象它们属性的访问问题 2.类对象能否修改实例属性,实例对象能修改类属性
解答:类对象不可访问实例属性,实例属性可以访问类属性,代码示例如下:
class Person(object): country = 'china' #类属性 def init(self,name): self.name = name
agou = Person('阿狗') Person.country = '日本' # 类属性修改后,实例对象在访问类属性就是更新后的了 print(agou.country) agou.country = '美国' # 实例对象也可以访问,类属性,此时通过实例对象修改类属性 print(agou.country) # 这里指的被实例对象修改的类属性后,看看实例对象属性打印出来,看是否修改 print(Person.country) # 这里是指实例对象修改了类属性,那么类对象访问类属性,看看是否被修改,发现这里并没有修改,总结一下,类属性要通过类去修改