我正在尝试建立一些python类,但是我不确定我的方法。
我想拥有一个Group
类的类,该类具有Memb
类的几个成员作为列表属性。我希望Group
类也有一些Group
类实例属性,Memb
类可以访问以及修改。
预期的行为如下所示,但我的方法感觉不到pythonic。
class Group():
def __init__(self, dat):
self.dat = dat
self.members = []
def add_memb(self):
self.members.append(Memb(1,self))
def show(self):
print(self.members)
class Memb():
def __init__(self, n, Group):
self.var = n
self.g = Group
def modify(self, v):
self.g.dat = v
def __repr__(self):
return str(self.var) + '.' + str(self.g.dat)
a = Group('q')
a.show() # []
a.add_memb()
a.show() # [1.q]
a.add_memb()
a.show() # [1.q, 1.q]
a.members[0].modify('m') # modify Group through one of its members
a.show() # [1.m, 1.m]