当前位置: 首页 > 面试题库 >

将所有字段从一个数据类实例复制到另一个实例的最简单方法?

龚俭
2023-03-14
问题内容

假设您已经定义了Python数据类:

@dataclass
class Marker:
    a: float
    b: float = 1.0

将值从一个实例复制marker_a到另一个实例的最简单方法是marker_b什么?

这是我尝试实现的示例:

marker_a = Marker(1.0, 2.0)
marker_b = Marker(11.0, 12.0)
# now some magic happens which you hopefully can fill in
print(marker_b)
# result: Marker(a=1.0, b=2.0)

作为边界条件,我不想创建新实例并将其分配给marker_b。好的,我 可以 遍历所有定义的字段,然后逐个复制值,但是我想必须有一种更简单的方法。


问题答案:

我认为遍历这些字段可能是最简单的方法。我能想到的所有其他选项都涉及创建一个新对象。

from dataclasses import fields

marker_a = Marker(5)
marker_b = Marker(0, 99)

for field in fields(Marker):
    setattr(marker_b, field.name, getattr(marker_a, field.name))

print(marker_b)  # Marker(a=5, b=1.0)


 类似资料:
  • 问题内容: 所以我有: 是否有一条sql语句将所有内容从id复制到number? 我将要编写一个php scrip进行选择,然后更新每一行。我的SQL知识很基础,但是我敢肯定有一个聪明的方法可以做到这一点: 背景:ID过去一直是应用程序中显示的数字,并且是唯一的。该数字在我要添加的一些新功能中不再是唯一的-因此我需要将其移动到不唯一的字段中,同时保持旧的完整性。 问题答案: 您可以使用更新语句并引

  • 我有这个问题。但我很难解释,因为我不知道确切的术语。希望有人能理解。我会尽力描述。我觉得这与

  • 我没有问题绑定单例实例到其他一些实例使用@注入。但是,当涉及到绑定一个类的更多实例到其他一些实例(这是单例),它拒绝以某种方式绑定它,我得到了空引用。 我的代码示例是: 当我创建几个WebSocketManagerImpl实例时,每个factoryImpl字段都是空指针。我做错什么了吗?

  • 问题内容: 我的产品使用SQL Server数据库- 每个客户端在自己的Intranet上都有自己的部署实例。该数据库大约有200个表。它们中的大多数是只有几行的配置表,但是有几个事务数据表可能有几百万行。通常,我需要对客户的配置问题进行故障排除,因此我需要他们的数据库的副本才能在我的开发系统上本地使用…但是由于交易数据的原因,该副本可能很大,这使得客户很难发送我可以备份。我需要一种方法来备份/复

  • 问题内容: 当我运行以下代码时,什么也不会被复制-我在做什么错? 另外,这是将数据从一个阵列复制到另一个阵列的最佳/最有效的方法吗? 问题答案: 我认为您的工作很落后: 应该:

  • 在FragmentOne.class扩展android.support.v4.app.