可能有一个我要求的名字,也许它最好通过一个例子来展示。假设我有这些课程:
class MonkeyCage(object):
def __init__(self, dimensions, monkeys=None):
self.dimensions = dimensions
self.monkeys = monkeys
def add_monkey(self, monkey):
self.monkeys.append(monkey)
class Monkey(object):
def __init__(self, name):
self.name = name
假设我创建了一个带有MonkeyCage和第一个Monkey的动物园:
>>> dimensions = {'width': 100, 'height': 200, 'depth': 70}
>>> cage = MonkeyCage(dimensions)
>>> monkey = Monkey("LaundroMat")
并将猴子添加到MonkeyCage:
>>> cage.add_monkey(monkey)
有没有办法 - 通过猴子实例 - 获得添加猴子的笼子的尺寸?
答案 0 :(得分:2)
你必须以某种方式将父母传给猴子。例如。在add_monkey中,你可以设置set monkey.parent = self并以这种方式访问它。
答案 1 :(得分:1)
将monkey
添加到cage
时,只需为其添加标记。
class MonkeyCage(object):
def __init__(self, dimensions, monkeys=None):
self.dimensions = dimensions
self.monkeys = monkeys
def add_monkey(self, monkey):
monkey.cage_dimension = self.dimensions
self.monkeys.append(monkey)
class Monkey(object):
def __init__(self, name):
self.name = name
然后,您可以通过cage
monkey.cage_dimensions
的信息