类型检查中的“自我”引用通常使用字符串完成:
class Node: def append_child(self, node: 'Node'): if node != None: self.first_child = node self.child_nodes += [node]
PEP-0484的“转发参考”部分对此进行了描述。
请注意, 这不会进行任何类型检查 或转换。这是一个 类型提示
,python(通常)完全不理会1。但是,第三方工具(例如mypy)使用类型提示对代码进行静态分析,并且可能在运行时生成错误。
另外,从python3.7开始,您可以使用来 隐式 将所有类型提示转换为模块内的字符串
from __future__ importannotations(在python4.0中,这是默认值)。
1提示 是 自省的-因此,如果您确实愿意,可以使用它们使用装饰器或类似工具来构建某种运行时检查程序,但是python默认不会执行此 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)