小编典典

如何在 for 循环中注释类型?

all

我想在for-loop 中注释变量的类型。我试过了,但没有用:

for i: int in range(5):
    pass

我期望在 PyCharm 2016.3.2 中使用自动完成功能,但使用预注释不起作用:

i: int
for i in range(5):
    pass

PS 预注释适用于 PyCharm >= 2017.1。


阅读 87

收藏
2022-07-27

共1个答案

小编典典

根据PEP 526,这是不允许的:

此外, 不能注释fororwith 语句中使用的变量;它们可以提前注释,类似于元组拆包

在循环之前对其进行注释:

i: int
for i in range(5):
    pass

PyCharm 2018.1 及更高版本 现在可以识别循环内变量的类型。这在旧版 PyCharm 中不受支持。

2022-07-27