|
|
发表于 2020-1-3 10:29:24
|
显示全部楼层
本楼为最佳答案
类属性不但是是实例方法可以访问。其他实例都会共享这个属性。而实例属性只有这个实例才可以访问。实例于实例之间的实例属性是隔离的。
上个例子,你和楼主看看能不能看懂:
- class Line:
- number = 0 # 类属性
- def __init__(self, length):
- self.length = length # 实例属性
- Line.number += 1
-
- def getting_long(self, new_length):
- self.length = new_length
- print(self.length)
-
- line1 = Line(10)
- line2 = Line(20)
- print(Line.number)
- print(line1.number)
- print(line2.number)
- Line.number = 3 # 改变类属性
- print(line1.number)
- print(line2.number)
- print(line1.length)
- print(line2.length)
- line1.getting_long(15) # 改变其中一个实例的实例属性
- print(line1.length)
- print(line2.length)
复制代码 |
|