在下面的代码中,Dataclass正在更改跨对象的dict。我能做些什么来避免这种行为呢?
from dataclasses import dataclass, field
from typing import Dict
@dataclass
class Test:
param: Dict[str, int] = field(default_factory = lambda: ({"xyz": 0}))
test1_obj = Test()
test2_obj = Test()
test1_obj.param["xyz"] = 10
print(test1_obj.param["xyz"])
print(test2_obj.param["xyz"])这两行都打印返回10,而我希望test2_obj仍然返回0。如何改变数据集的结构?
**这是3.7版及更高版本的良好表现**
发布于 2020-01-11 04:13:14
正如这里的许多用户所建议的那样,这在python3.7和更高版本上工作得很好。
https://stackoverflow.com/questions/59311017
复制相似问题