Название немного длинное, но оно должно быть довольно простым для тех, кто хорошо знает Python.
Я новичок в питоне. Так что, возможно, я делаю вещи неправильно.
Предположим, у меня есть класс TreeNode
class TreeNode(Node):
def __init__(self, name, id):
Node.__init__(self, name, id)
self.children = []
и подкласс с весом:
class WeightedNode(TreeNode):
def __init__(self,name, id):
TreeNode.__init__(self, name, id)
self.weight = 0
Пока, я думаю, я в порядке. Теперь я хочу добавить объектную переменную с именем Father в TreeNode, чтобы WeightedNode также имел этот член. Проблема в том, что я не знаю при инициализации объекта, который станет отцом. Затем я установил отца с помощью этого метода в TreeNode:
def set_father(self, father_node):
self.father = father_node
Проблема тогда, когда я пытаюсь получить доступ к self.father в Weighted:
print 'Name %s Father %s '%(self.name, self.father.name)
Я получаю:
AttributeError: WeightedNode instance has no attribute 'father'
Я думал, что смогу сделать father
видимым, делая что-то в TreeNode.__init__
, но я не смог найти что.
Как я могу это сделать?
Спасибо.