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

来源:2-6 Python类属性和实例属性的优先级

葡萄葡萄

2020-10-04 07:06

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

谢谢

写回答 关注

2回答

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

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

    Animal.__count = Animal.__count + 1

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

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

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

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

Python3 进阶教程(新版)

学习函数式、模块和面向对象编程,掌握Python高级程序设计

41910 学习 · 236 问题

查看课程

相似问题