我想在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。
我想在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。
根据PEP 526,这是不允许的:
此外,不能注释
for
orwith
语句中使用的变量;它们可以提前注释,类似于元组拆包
在循环之前对其进行注释:
i: int
for i in range(5):
pass
PyCharm 2018.1 及更高版本现在可以识别循环内变量的类型。这在旧版 PyCharm 中不受支持。
我不知道这个解决方案是 PEP 兼容的还是只是 PyCharm 的一个功能,但我让它像这样工作:
for i in range(5): #type: int
pass
我正在使用 Pycharm 社区版 2016.2.1
这适用于我在 PyCharm 中(使用 Python 3.6)
for i in range(5):
i: int = i
pass
除了说你不能,这里的任何回应都没有用。即使是接受的答案也使用 PEP 526 文档中的语法,这不是有效的 python 语法。如果您尝试输入
x: int
你会看到这是一个语法错误。
这是一个有用的解决方法:
for __x in range(5):
x = __x # type: int
print(x)
做你的工作x
。PyCharm 识别它的类型,并且自动完成工作。