数据类:NameError:未定义名称“WORD_TYPE”

我尝试使用 SO 问题示例


@dataclass

class WordItem:

    id: str = field(init=False)

    phrase: str

    word_type: WORD_TYPE


    def __post_init__(self):

        self.id = f'{self.phrase}_{self.word_type.name.lower()}'

我有


<ipython-input-3-df20e5b35c67> in WordItem()

      3     id: str = field(init=False)

      4     phrase: str

----> 5     word_type: WORD_TYPE

      6 

      7     def __post_init__(self):


NameError: name 'WORD_TYPE' is not defined

我的 Python 版本


Python 3.6.6 :: Anaconda, Inc.

WORD_TYPE 究竟是什么?


哔哔one
浏览 255回答 1
1回答

白衣非少年

我相信您所指的问题缺少这个,即在类定义之前定义自定义类型。from&nbsp;typing&nbsp;import&nbsp;NewType WORD_TYPE&nbsp;=&nbsp;NewType('WORD_TYPE',&nbsp;str)这是一个更好的例子来解决dataclasses.&nbsp;我还建议您使用 Python 3.7 及其本机数据类模块。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python