C++有指针,但听说Python没有。
但是,在下面的示例中,在类 c1 中,我将类 c0 复制到 c0.link_c。
我认为应该通过深拷贝来复制 c0 的新实例,但它只是复制一个指针来进行浅拷贝。
我可以决定在这种情况下是做深拷贝还是浅拷贝吗?
class Paraent:
def __init__(self):
self.a = 0
self.c0 = Child()
self.c1 = Child(c=self.c0)
def exe(self, input):
self.c1.exe(input)
class Child:
def __init__(self, c=None):
self.v0 = 0
self.v1 = 1
if c is not None:
self.link_c = c
def exe(self, input):
self.link_c.v0 = input
p0 = Paraent()
p0.exe(3)
print(p0.c0.v0) ## 3 not 0