|  | 
 
 发表于 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)
 | 
 |