python - 如何在 for 循环中注释类型?

标签 python for-loop pycharm type-hinting python-typing

我想在 for 循环中注释变量的类型。我试过了,但没有用:

for i: int in range(5):
    pass

我期望在 PyCharm 2016.3.2 中使用自动完成功能,但使用 预注释不起作用:

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

附:预注释适用于 PyCharm >= 2017.1。

最佳答案

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

In addition, one cannot annotate variables used in a for or with statement; they can be annotated ahead of time, in a similar manner to tuple unpacking

在循环之前注释它:

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

PyCharm 2018.1 及更高版本 现在可以识别循环内变量的类型。这在旧版 PyCharm 中不受支持。

关于python - 如何在 for 循环中注释类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41641449/

相关文章:

python-2.7 - PyCharm 显示 "PEP8: expected 2 blank lines, found 1"

python - Selenium WD Python 消息 : Invalid timeout type specified: sessionId

python - 如何在 Django 1.10 中使用 `unaccent` 进行全文搜索?

python - Django 管理聚合

Java 从 for 循环中运行多个具有不同名称的线程

javascript - 在双 for 循环中将项目添加到不同对象 - Javascript

pycharm - 如何多次运行同一个脚本而不等待其完成

Python 单元测试整个模块设置

python - 如何从 Azure Data Lake Store 读取 Azure Databricks 中的 JSON 文件

python - 类型错误 : 'float' object not iterable