如何在类中获取一个对象来修改python中同一个类中的另一个对象?

时间:2017-03-16 17:54:18

标签: python class

我在python中有一个类,我希望能够对一个对象进行操作,并让该操作依次识别另一个要更改的对象,然后对其进行修改。为了使这个具体:

假设我们有一堆位置(对象),每个位置都有一些东西(称之为元素)。我想告诉位置1将其中一个元素移到location.move_right(element)右侧。然后应该将该元素添加到位置2。 (在我的实际问题中,"位置"需要计算它将移动到哪个位置,因此我不知道它的先验位置。)

这是我的工作代码。在课堂上,我放置了一个字典,用于存放所有已创建的对象。我可以想象这可能会给垃圾收集等带来麻烦。我怀疑有更好的方法。有吗?

class location(object):
    locations = {}
    def __init__(self, coordinate):
        self.locations[coordinate]=self
        self.coord = coordinate
        self.elements = set()

    def add_element(self, element):
        self.elements.add(element)

    def move_right(self, element):
        self.elements.remove(element)
        new_location = self.locations[self.coord+1]
        new_location.add_element(element)

x = location(1)
y=location(2)
x.add_element('r')
x.move_right('r')

0 个答案:

没有答案