我想在for
-loop中注释变量的类型。我尝试了这个:
for i: int in range(5):
pass
但这显然没有用。
我期望在PyCharm 2016.3.2中能够自动完成工作。像这样的预注释:
i: int
for i in range(5):
pass
没有帮助。
适用于PyCharm> = 2017.1的PS预注释作品
Answers:
根据PEP 526,这是不允许的:
另外,不能注释
for
或with
语句中使用的变量。可以像元组拆包一样提前注释它们
在循环之前对其进行注释:
i: int
for i in range(5):
pass
PyCharm 2018.1及更高版本现在可以识别循环内变量的类型。较早的PyCharm版本不支持此功能。
Local variable 'i' value is not used
。
i
中i: int
仍然不会被你正在使用用于i
在循环。我认为这是此类注释的缺陷。
我不知道此解决方案是否与PEP兼容,或者仅仅是PyCharm的功能,但我使它像这样工作
for i in range(5): #type: int
pass
我正在使用Pycharm Community Edition 2016.2.1
for index, area in enumerate(area_list): # type: int, AreaInfo
这对我在PyCharm(使用Python 3.6)中的效果很好
for i in range(5):
i: int = i
pass
i: int
够了,您不会有任何抱怨。