考虑到我通常使用 C 语言工作,我认为静态类型确实会让我在 Python 中的生活更轻松。我创建了一个这样的类:
class node(object):
"""
properties, constructor, etc.
"""
def add_outneighbor(self, neighbor: node) -> None:
"""
do stuff
"""
Flake8 告诉我 node
是 add_outneighbor
定义中的未知类型。目前我正在解决 isinstance(arg, type)
的问题,但这似乎违背了拥有类型提示的目的。有一个更好的方法吗?
This是我为了获取有关类型提示的信息而引用的资源,但我找不到有关此自引用问题的任何讨论。
最佳答案
解释器告诉你 node 是未知类型的原因是,除非你使用 Python 4,否则必须先定义 node
才能在注解中使用它。
我建议插入以下语句:from __future__ import annotations
,它将自动将注释存储为字符串。那你就不会再有这个问题了
关于python-3.x - Python 类型提示 : self-referential type checking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695453/