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

如何在Python中将一个对象的所有属性复制到另一个对象?

白刚洁
2023-03-14
问题内容

在Python中,是否有一个库方法可在同一类的两个(已经存在)实例之间复制所有属性?

我的意思是,类似Apache Commons的东西 PropertyUtilsBean.copyProperties()


问题答案:

如果您的班级未修改__getitem____setitem__出于特殊属性访问目的,则所有属性都存储在其中,__dict__因此您可以执行以下操作:

 nobj.__dict__ = oobj.__dict__.copy()    # just a shallow copy

如果使用python属性,则应查看inspect.getmembers()并筛选出要复制的属性。



 类似资料:
  • 假设我们有一个这样定义的对象A: 出于某种原因,我需要创建第二个对象B,它只具有对象A的前两个属性: 所以我的问题是:将对象A复制到对象B的最佳方法是什么?我一直在逐个复制获取者和设置者的属性,但有些事情告诉我一定有更好的方法来做到这一点!特别是当对象将具有很多属性时,我必须编写一行又一行的代码,只是为了将它们全部复制到第二个对象B... 多谢了:) 编辑:我一直被一个“另一个问题的可能重复”提醒

  • 我有一个包含对象的数组,它们是反应组件上的道具 我想抓住第一个物体的细节,因为它是 我可以这样做: 如何获取所有剩余的键和值,并将它们存储在组件状态中?

  • 我有两个java类如下 现在我有了一个A级对象Aobj,两个字段都已初始化。我用的是小豆子。copyProperties(Bobj,Aobj),但只有字段值被复制到Bobj中。名称列表为空。有没有办法深度复制一个对象,以便它复制所有字段,包括列表、地图等集合。 我在某个地方听说了推土机,不确定这是否是为了这个目的。

  • 我目前有一个ArrayList,其中包含“Product”对象,每个对象中包含一个字符串、整数和double。我希望能够使用参数搜索对象,找出与搜索参数匹配的ID(整数值),并将此对象复制到另一个ArrayList中。有没有可能通过迭代器实现这一点,或者有没有更简单的方法?

  • 问题内容: 我有两个具有相同属性名称的java类。如何将所有属性复制到另一个装有数据的bean中。我不想使用传统形式来复制属性,因为我有很多属性。 提前致谢。 1班 2班 问题答案: 用途:

  • 问题内容: 见下课 假设我创建了一个父对象,如下所示 根据上面的代码注意,birthDate属性为null。现在我只想将非null属性从父对象复制到另一个对象。就像是 我需要它,因为我想更新anotherParent对象而不用null值覆盖其非null值。 你知道这样的帮手吗? 我是否接受最少的代码作为答案,是否不介意使用助手 问候, 问题答案: 我想您已经有了解决方案,因为自您提出要求以来已经发