当前位置:  开发笔记 > 编程语言 > 正文

如何在for循环中注释类型

如何解决《如何在for循环中注释类型》经验,为你挑选了3个好方法。

我想在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



1> alecxe..:

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

另外,不能注释a forwith 语句中使用的变量 ; 它们可以提前注释,类似于元组解包

在循环之前注释它:

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

PyCharm 2018.1及更高版本现在识别循环内部变量的类型.旧的PyCharm版本不支持此功能.


但是会有一个检查信息“不使用局部变量'i'值”。
我正在使用PyCharm 2018.1,现在它识别出这种形式.
@philologon很好!感谢您的提醒,相应地更新答案.

2> 小智..:

我不知道这个解决方案是PEP兼容还是只是PyCharm的一个功能,但我让它像这样工作

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

我正在使用Pycharm Community Edition 2016.2.1


仅供参考:PEP 484中明确允许/提及了这种格式(也与python 2.7兼容)
谢谢,但我会坚持PEP 526选项

3> 小智..:

这对我的PyCharm(使用Python 3.6)效果很好

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

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有