gre*_*ake 55 python for-loop type-hinting pycharm python-3.6
我想在for-loop中注释一个变量类型.我试过这个:
for i: int in range(5):
pass
Run Code Online (Sandbox Code Playgroud)
但显然它没有用.
我期望在PyCharm 2016.3.2中进行自动完成工作.像这样的预注释:
i: int
for i in range(5):
pass
Run Code Online (Sandbox Code Playgroud)
没有帮助.
PS预注释适用于PyCharm> = 2017.1
ale*_*cxe 73
根据PEP 526,这是不允许的:
另外,不能注释a
for或with语句中使用的变量 ; 它们可以提前注释,类似于元组解包
在循环之前注释它:
i: int
for i in range(5):
pass
Run Code Online (Sandbox Code Playgroud)
PyCharm 2018.1及更高版本现在识别循环内部变量的类型.旧的PyCharm版本不支持此功能.
小智 30
我不知道这个解决方案是PEP兼容还是只是PyCharm的一个功能,但我让它像这样工作
for i in range(5): #type: int
pass
Run Code Online (Sandbox Code Playgroud)
我正在使用Pycharm Community Edition 2016.2.1
小智 9
这对我的PyCharm(使用Python 3.6)效果很好
for i in range(5):
i: int = i
pass
Run Code Online (Sandbox Code Playgroud)