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

问题描述

我想在for循环中注释一种类型的变量。我尝试过此操作,但不起作用:

for i: int in range(5):
    pass
我期望的是PyCharm 2016.3.2中的自动完成功能,但使用 前置批注不起作用:

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

P.S.预注适用于PyCharm>;=2017.1。


解决方案

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

此外,不能注释forwith中使用的变量 语句;可以提前对它们进行批注,其方式类似于 元组解包

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

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

PyCharm 2018.1和UP现在可以识别循环内的变量类型。旧版本的PyCharm不支持此功能。

相关文章