首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用数据集作为字段之一时使用Dataclass?

如何在使用数据集作为字段之一时使用Dataclass?
EN

Stack Overflow用户
提问于 2019-12-12 18:47:00
回答 1查看 8.6K关注 0票数 1

在下面的代码中,Dataclass正在更改跨对象的dict。我能做些什么来避免这种行为呢?

代码语言:javascript
运行
复制
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版及更高版本的良好表现**

EN

Stack Overflow用户

回答已采纳

发布于 2020-01-11 04:13:14

正如这里的许多用户所建议的那样,这在python3.7和更高版本上工作得很好。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59311017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档