gpt4 book ai didi

python - 一个类的对象是否可能具有与它们所在的类属性相同的引用?

转载 作者:行者123 更新时间:2023-12-04 02:25:25 27 4
gpt4 key购买 nike

我不知道我的问题是不是太困惑,甚至是正确的,所以为了清楚起见,这里有一个例子:

class Parent():
def __init__(self,addr):
self.addr = addr
self.child1 = Child(self.addr)
self.child2 = Child(self.addr)

class Child():
def __init__(self,addr):
self.addr = addr

parent = Parent('USA')

我想要完成的是每当我更改 addr Parent 的属性对象 addr child1 的属性和 child2 Parent 内的对象也改变了。

parent.child1.addr >>> 'USA'

但是当我改变 Parent对象 Parent.child1保持不变。

parent.addr = 'France'

parent.child1.addr >>> 'USA'
parent.addr >>>'France'

最佳答案

你可以让 Child.addr 成为 property获取父级的 addr:

class Parent:
def __init__(self, addr):
self.addr = addr
self.child1 = Child(self)
self.child2 = Child(self)


class Child:
def __init__(self, parent):
self.parent = parent

@property
def addr(self):
return self.parent.addr

关于python - 一个类的对象是否可能具有与它们所在的类属性相同的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68049069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com