类属性是所有类的成员共有的属性,可以通过类名或者对象名来访问。

但是,如果用对象名来修改类属性的值,会出现问题:这样做实际的效果是为这个对象重新创建了一个新属性并赋值,而不是修改类的属性。

如下图(借用牟琦老师在中国大学慕课上开课的PPT)

Python3的类与对象,通过对象名修改类属性的问题

图中“zhangsan.money=5000”的操作实际上是为张三新创建了一个“money‘属性,而不是修改Person类的属性。

所以在修改类属性的时候应该直接用类名进行修改,读取的时候可以用对象名进行读取(前提是你没有为该对象新增与类属性名相同的属性)

相关文章:

  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2022-01-27
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
猜你喜欢
  • 2021-07-09
  • 2021-04-16
  • 2022-02-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案