考虑到我通常在C语言中工作,我决定使用静态类型确实可以使我的工作变得更轻松。
class node(object):
"""
properties, constructor, etc.
"""
def add_outneighbor(self, neighbor: node) -> None:
"""
do stuff
"""
Flake8告诉我node
是add_outneighbor
定义中的未知类型。目前,我正在解决isinstance(arg, type)
的问题,但这似乎无法达到使用类型提示的目的。有一个更好的方法吗?
This是我用来获取类型提示信息的参考资源,但是我找不到有关此自指问题的任何讨论。
答案 0 :(得分:7)
解释器告诉您节点是未知类型的原因是,除非在使用Python 4之前,必须先定义“节点”,然后才能在批注中使用它。
我建议插入以下语句: from 未来导入注释,它将注释自动存储为字符串。那你就不会再遇到这个问题了