Я строю конечный государственный акцептор (FSA ... в основном, дерево). У меня есть класс FSA
и класс State
, так как FSA
должен состоять из множества States
. Однако, когда сначала создается FSA
, я хотел бы создать его начало State
и конец State
и соединить их. Вот код, который:Python Composition Cause AttributeError
class State (object):
__slots__ = "chars","children"
def __init__(self,chars,children=[]):
self.chars = chars
self.children = children
class FSA (object):
__slots__ = "vocab"
def __init__(self,vocab):
self.vocab = vocab
self.start = State("0")
self.finish = State("1")
self.start.children.append(self.finish)
self.finish.children.append(self.start)
Однако, когда я бегу fsa = FSA("vocab.small")
, это бросает ошибку:
AttributeError: 'FSA' object has no attribute 'start'
Есть ли способ, которым я могу инициировать FSA
, а также создать два States
для него?
Получил это! Это часть большего назначения, и требуются слоты. Я не совсем понял их, но теперь я добираюсь туда. Спасибо. –
«Слоты требуются»: (Когда преподаватели Java будут преподавать Python, как это должно было быть написано? –