gpt4 book ai didi

Python 组合导致 AttributeError

转载 作者:太空宇宙 更新时间:2023-11-04 10:49:13 25 4
gpt4 key购买 nike

我正在构建一个有限状态接受器(FSA...基本上是一棵树)。我有一个 FSA 类和一个 State 类,因为 FSA 应该由许多 State 组成。但是,当最初创建 FSA 时,我想创建它的开始 State 和结束 State,并将它们连接起来。这是相关代码:

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 并为其创建两个 State

最佳答案

你说:

__slots__ = "vocab"

你这是什么意思?如果你想有一个 start 属性,你需要将它包含在你的 __slots__ 列表中,或者根本不使用 __slots__。除非您有内存问题,否则最好省略 __slots__ 属性。

关于Python 组合导致 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035279/

25 4 0
文章推荐: java - 为什么 List.toArray() 返回 Object[] 而不是 String[]?如何解决这个问题?
文章推荐: html - 如何使带有表单输入的内部
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com