gpt4 book ai didi

python - 类变量是可变的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:06 25 4
gpt4 key购买 nike

如果我定义一个简单的类

class someClass():
var = 1

x = someClass()
someClass.var = 2

这将使x.var等于 2。这很令人困惑,因为通常类似于这样的东西:

a = 1
b = a
a = 2

将 b 完好无损地保留为 b==1 。那么为什么这与类变量不一样呢?差别在哪里呢?可以称所有类变量都是可变的吗?在某种程度上,类变量的工作方式更像是将列表分配给 a=[1]并在做a[0]=2 .

基本上问题是 x.var 是怎样的访问 someClass.var 它必须是不同的东西,然后在 python 中将两个变量设置为相等时使用。发生了什么事?

最佳答案

varsomeClass 的静态类变量。

当您获取x.vary.varsome_other_instance.var时,您正在访问同一个变量,而不是派生实例(只要您没有将其作为属性专门分配给实例)。

关于python - 类变量是可变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44563579/

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