ITS·黑客

Python学习笔记十七

2017-05-14  本文已影响1人  6156fc232124

实例属性和类属性

1.在编写程序的时候,一定要避免实例属性和类属性使用同样的名字,否则实例属性将屏蔽掉类属性。直到删除了实例属性后,再使用相同的名称,访问到的才将是类属性。

2.实例绑定属性:通过实例变量或者通过self变量

3.给类本身绑定属性:可以直接在class中定义属性,即类属性

例子如下(摘自教程,理解这个就基本上理解了!!)

>>>classStudent(object):

...name ='Student'

...

>>>s = Student() # 创建实例s

>>>print(s.name) # 打印name属性,因为实例并没有name属性,所以会继续查找class的name属性Student

>>>print(Student.name) # 打印类的name属性Student

>>>s.name ='Michael' # 给实例绑定name属性

>>>print(s.name) # 由于实例属性优先级比类属性高,因此,它会屏蔽掉类的name属性

Michael

>>>print(Student.name) # 但是类属性并未消失,用Student.name仍然可以访问

Student

>>>dels.name # 如果删除实例的name属性

>>>print(s.name) # 再次调用s.name,由于实例的name属性没有找到,类的name属性就显示出来了

Student

上一篇下一篇

猜你喜欢

热点阅读