Код для создания связанного списка.Отображение экземпляров классов?
Я создал экземпляр узла с именем a и дал ему элемент «привет» и создал экземпляр узла с именем b, а затем дал ему значение 'world'
, а затем сделал a.setOther(b)
;
Когда я тогда набираю a.getOther()
Я не получаю «мир», но получаю <__main__.Node at 0x140ae7fafd0>
.
Это как указатель, указывающий местоположение данных на моем диске? Если да, то как мне отображать данные из этого местоположения?
class Node(object):
def __init__(self, item, other = None):
self.item = item
self.other = other
def getItem(self):
return self.item
def getOther(self):
return self.other
def setItem(self, item):
self.item = item
def setOther(self, other):
self.other = other
Первая часть вопроса является дубликатом. Вторая часть также может быть, хотя и не так очевидно. Вам нужно использовать 'a.getOther()', а не 'a.getOther', если вы хотите вызвать метод, - но зачем беспокоиться с геттерами и сеттерами? Он устарел, но следующее стоит прочитать: http://dirtsimple.org/2004/12/python-is-not-java.html Или это: http://www.python-course.eu/python3_properties.php –
Хорошо, спасибо. Я собираюсь отредактировать сообщение только во второй половине вопроса. Я также заметил, что сделал ошибку - я хотел сказать: 'a.getOther()' not 'a.getOther' – teddyv
Вы получаете' <__ main __. Node at 0x140ae7fafd0> ', потому что класс' Node' не определяет '__str__' или' __repr__', поэтому используется нечто общее. – martineau