Discuss / Python / 当有类属性时,再定义实例属性是因为实例属性的变量名指向了新的值,类属性并没有被改变

当有类属性时,再定义实例属性是因为实例属性的变量名指向了新的值,类属性并没有被改变

Topic source

philaradox

#1 Created at ... [Delete] [Delete and Lock User]

class Person(object):
    """定义一个具有类属性的类"""
    _die = True
    def __init__(self, age):
        self.age = age

pa = Person(20)

print(Person._die, id(Person._die))
#输出值:True 1531278160
print(pa._die, id(pa._die))
#输出值:True 1531278160

pa._die = 1
print(pa._die, id(pa._die))
#输出值:1 1531459344

del pa._die
print(pa._die, id(pa._die))
#输出值:True 1531278160

  • 1

Reply