AttributeError: объект типа «lexer» не имеет атрибута «current_character»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 AttributeError: объект типа «lexer» не имеет атрибута «current_character»

Сообщение Anonymous »

Код: Выделить всё

class lexer:
def __init__(self, code):
self.code = code
self.position = -1
self.current_character = None

def advance(self):
self.position += 1
self.current_character = self.code[self.position] if self.position < len(self.code) else None

def generate_list(self):
tokens = []

while self.current_character != None: ###AttributeError: 'str' object has no attribute 'current_character'
if self.current_character in ' \t':
self.advance()
elif self.current_character in digits:
tokens.append(self.generate_number())
elif self.current_character == '+':
tokens.append(token(plus))
self.advance()
#(Other tokens...)
else:
errant = self.current_character
self.advance()
return [], errors.m1(position, errant)

return tokens, None
Внутри методаgenerate_list() Python не распознает ни один из методов, которые я пишу в разделе «self». class и выдает ту же ошибку: AttributeError: объект 'str' не имеет атрибута '(...)'
Я пробовал ставить скобки после self.current_character, например self.current_character(), но интерпретатор обвинил только часть «self.current_character» и выдал ту же ошибку, игнорируя скобки. Я также пробовал заменить self на lexer, но лексер не распознавался.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -character
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»