gpt4 book ai didi

python - 注释是否在运行时在 python 中解析?允许不定义吗?

转载 作者:行者123 更新时间:2023-12-04 15:31:16 24 4
gpt4 key购买 nike

>>> x : foo = 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'foo' is not defined
>>> def add(x):
y : bar = 1 # No Error
return x + y
>>> add(3)
4

很明显,名称bar 没有被读取,但是foo 在运行时被读取。这是众所周知的事情吗?定义/未定义注释的当前条件是什么?在未来的版本中,是否必须强制在任何地方定义注解?

最佳答案

根据文档:

typing.TYPE_CHECKING :

Type annotations for local variables are not evaluated

这就解释了为什么您的第二个示例没有引发错误。

如果你需要转发声明一个注解(即你想使用一个稍后在你的代码中定义的符号),你可以使用一个字符串文字,例如:

x: 'foo' = 3

关于python - 注释是否在运行时在 python 中解析?允许不定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61233203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com