gpt4 book ai didi

python - 为什么要修改类属性?

转载 作者:行者123 更新时间:2023-12-04 11:58:26 27 4
gpt4 key购买 nike

在我的书中它说

Use class attributes to define properties that should have the same value for every class instance. Use instance attributes for properties that vary from one instance to another.


但是,在一个例子中, speciesmiles 修改了类属性如下所示:
class Dog:
species = "Canis familiaris"

miles = Dog()
snoopy = Dog()
miles.species = "Felis silvestris"
这意味着 species class 属性不适用于整个 Dog类(class)。我是不是误解了什么,还是自定义类属性只是正常的?

最佳答案

Why is the class attribute being modified?


不是。 milesDog 的一个实例类,因此分配给 miles.species创建一个实例属性。

That means that the species class attribute is not for the entire Dog class.


在您显示的代码中,有两件事叫做 species .
  • 类的一个属性 Dog ( "Canis familiaris" ),整个程序没有变化。
  • 实例的一个属性 miles ( "Felis silvestris" ),仅适用于 miles ,但不是全部Dog类,也不到snoopy实例。

  • snoopy没有自己的 species实例属性,访问 snoopy.species将回落到 Dog.species .

    关于python - 为什么要修改类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68559870/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com