Python类型提示:自引用类型检查

时间:2018-12-09 18:36:24

标签: python-3.x type-hinting

考虑到我通常在C语言中工作,我决定使用静态类型确实可以使我的工作变得更轻松。

class node(object):
    """
    properties, constructor, etc.
    """

    def add_outneighbor(self, neighbor: node) -> None:
        """
        do stuff
        """

Flake8告诉我nodeadd_outneighbor定义中的未知类型。目前,我正在解决isinstance(arg, type)的问题,但这似乎无法达到使用类型提示的目的。有一个更好的方法吗? This是我用来获取类型提示信息的参考资源,但是我找不到有关此自指问题的任何讨论。

1 个答案:

答案 0 :(得分:7)

解释器告诉您节点是未知类型的原因是,除非在使用Python 4之前,必须先定义“节点”,然后才能在批注中使用它。

我建议插入以下语句: from 未来导入注释,它将注释自动存储为字符串。那你就不会再遇到这个问题了