python - 键入注释稍后定义的类(前向参考)
问题描述
出于风格原因,我试图在 Foo 类之前保留 myDict 的定义。这将导致 NameError 因为 Foo 尚未定义。
from typing import Dict
myDict: Dict[str, Foo] = {}
class Foo:
pass
将 myDict 移到 Foo 下面显然可以解决这个问题,但是有什么办法可以让 myDict 及其注释保持在顶部?
解决方案
您可以按如下方式引用它:
from typing import Dict
myDict: Dict[str, 'Foo'] = {}
class Foo:
pass
有关更多信息,请参阅https://www.python.org/dev/peps/pep-0484/#forward-references。
推荐阅读
- react-native - React-Native WebView:问题下载和保存动态生成的文件
- ansible - 如何使用 Ansible 将文件从 Cisco ASR900 的一个目录移动到另一个(由 root 拥有)?
- azure-active-directory - SCIM:首选编号是什么?我应该返回获取组响应中的成员还是可选的?
- python - Python pandas 发现差异并更新
- jenkins - Jenkins管道脚本问题与URL中的wget和变量
- angular - 仅针对一个组件未找到角度自定义管道
- node.js - 有没有办法在 chrome 扩展中运行 node.js 包?
- go - Go:使用不同数字类型的切片作为结构的字段
- node.js - Active Directory 登录 node.js REST 基本示例
- sql - SQL Server中按期间的日期差异分组