是否有一种简单的方法可以将一个类的属性设置为等于同一类的另一个实例?

class Foo:
    def __init__(self, a, b):
        self.a = a
        self.b = b

def main():
    classOne = Foo(1,2)
    classTwo = Foo(3,4)


    # DESIRED:
    classOne = classTwo # How can I easily set the 'a' and 'b' of classOne = classTwo?

if __name__ = "__main__":
    main()


我知道这样的事情会起作用:

classOne.a = classTwo.a
classOne.b = classTwo.b


但是,对于具有更多变量的类,还有更好的方法吗?

感谢您的帮助!

最佳答案

这是您要找的东西吗?

import copy
classOne = copy.deepcopy(classTwo)


看一下python docs。深层副本将创建一个新类(您将其设置为classOne),该实例具有与classTwo相同的所有属性值。

import copy

class Foo:
    def __init__(self, a, b):
        self.a = a
        self.b = b

def main():
    classTwo = Foo(3,4)
    classOne = copy.deepcopy(classTwo)

关于python - Python:如何将类变量设置为另一个相同类型的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31506094/

10-12 21:13