Когда я пытаюсь запустить код класса, который пишу, я получаю AttributeError
, и я не знаю, почему. Конкретная ошибка выглядит следующим образом:
self.marker = self.markers[marker[1:]]
AttributeError: 'TTYFigureData' object has no attribute 'markers'
Вот часть класса, который я пишу:
class TTYFigureData(object):
"""
data container of TTYFigure
"""
def __init__(
self,
x, # x values
y, # y values
marker = "_.", # datum marker
plot_slope = True
):
self.x = x
self.y = y
self.plot_slope = plot_slope
self.set_marker(marker)
self.markers = {
"-" : u"None" ,
"," : u"\u2219"
}
def set_marker(
self,
marker
):
if marker in [None, "None", u"None", ""]:
self.plot_slope = True
self.marker = ""
elif marker[0] == "_":
self.marker = self.markers[marker[1:]]
else:
self.marker = marker
Где я ошибаюсь?
self.set_marker
до инициализацииself.markers
. Учитывая, чтоself.markers
кажется фиксированным, почему бы не сделать его атрибутом класса? - person jonrsharpe   schedule 28.09.2015set_marker()
вызывается из__init__
, является важным ключом к пониманию того, что происходит не так, обратная трассировка покажет это. - person Martijn Pieters   schedule 28.09.2015