如何在适当的位置更新数据类?

时间:2019-12-03 03:40:03

标签: python python-dataclasses

给出相同数据类的两个实例,如何用第二个实例的值就地更新第一个实例?

@dataclass
class Foo:
    a: str
    b: int

f1 = Foo("foo", 1)
f2 = Foo("bar", 2)

# Update in place, so that f1.a == f2.a, f1.b == f2.b and so on

注意:我不想简单地设置f1 = f2;我想就地更新f1

1 个答案:

答案 0 :(得分:0)

使用dataclasses.fields遍历所有属性并一一设置。

from dataclasses import fields

for f in fields(f2):
    setattr(f1, f.name, getattr(f2, f.name))