小编Den*_*Den的帖子

嵌套在另一个数据类中的数据类无法正确更新数据

我生成了两个不同的 python 实例,dataclass其中包含一个嵌套的dataclass. 当我更新嵌套dataclass在一个实例中(而不是在另一个实例中)中的值时,相同的数据被放置dataclass两个实例中的嵌套中。这不是我所期望的。

from dataclasses import dataclass


@dataclass
class sub1:
    q: int = 10
    r: str = "qrst"


@dataclass
class A:
    a: int = 1
    s1: sub1 = sub1()


if __name__ == '__main__':
    a = A()
    aa = A()
    aa.a = 9
    aa.s1.r = "92"
    print("a:", repr(a))
    print("aa:", repr(aa))

''' Produces --
a: A(a=1, s1=sub1(q=10, r='92'))
aa: A(a=9, s1=sub1(q=10, r='92'))
'''
Run Code Online (Sandbox Code Playgroud)

我希望嵌套dataclass只在指定的实例 ( aa) 中更新,而嵌套dataclass …

python python-3.x python-dataclasses

1
推荐指数
1
解决办法
1892
查看次数

标签 统计

python ×1

python-3.x ×1

python-dataclasses ×1