Pyr*_*AVR 0 type-hinting python-3.x
我认为静态类型会让我的生活变得更容易在Python中,考虑到我通常在C中工作.我创建了一个类似的类:
class node(object):
"""
properties, constructor, etc.
"""
def add_outneighbor(self, neighbor: node) -> None:
"""
do stuff
"""
Run Code Online (Sandbox Code Playgroud)
Flake8告诉我这node是一个未知类型add_outneighbor的定义.目前我正在解决这个问题isinstance(arg, type),但这似乎打败了类型提示的目的.有一个更好的方法吗?
这是我提到的资源,以获取有关类型提示的信息,但我找不到有关此自引用问题的任何讨论.
小智 7
解释器告诉您节点是未知类型的原因是因为除非您使用Python 4,否则必须先定义"node",然后才能在注释中使用它.
我建议插入以下语句:来自将来的导入注释,它会自动将注释存储为字符串.那你再也不会遇到那个问题了