Python成员类修改实例属性

时间:2019-04-29 14:24:33

标签: python python-3.x class

我正在尝试建立一些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]

0 个答案:

没有答案