python - 类型注释稍后定义的类(前向引用)

标签 python python-3.x annotations

出于样式原因,我试图在类 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获取更多信息。

关于python - 类型注释稍后定义的类(前向引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59206992/

相关文章:

python - 为什么我在 python pptx 上出现一个形状的组形状错误?

python - 访问 DataFrame 的每个条目并以更好的方式替换它们?

python - 如何保持我的 python-daemon 进程运行或在失败时重新启动它?

java - 为警告创建 Java 注释 - @NonOptimal

java - Cucumber - 带参数的小 cucumber 注释

python - 如何从图像中读取标点符号,如 '/' 、 '_' 和 '\'

python - 程序在调试时运行良好,但在正常运行时崩溃

python - 在 Python 中使输入可选

python - 我如何实现具有多个 init 继承的 super() ?

java - 如何在 Java 9 中使用新的 BeanInfo 注解