问答详情
源自:2-6 Python类属性和实例属性的优先级

既然“通过实例是无法修改 类属性的”, 那么为什么还需要注意“不要通过实例修改类属性,以免引发错误”?

反正实例也改变不了类属性,那还会引发什么错误啊? 

谢谢

提问者:葡萄葡萄 2020-10-04 07:06

个回答

  • qq_慕妹2150756
    2021-04-21 22:17:04

    但是如果没有__,那么def语句里面的

    Animal.__count = Animal.__count + 1

    不就在每次新建实例的时候修改了count吗

  • 慕粉1474708050
    2020-10-06 15:40:00

    如果存在类属性,而不存在实例属性,你想通过实力修改类属性,编译时就会报错,会让你意识到自己操作有问题,不会导致太大的问题;

    如果类属性和实例属性名字相同,你想通过实例修改类属性,实际改的是实例属性,就造成了意想不到的错误;