PyCharm 类型提示怪异
Posted
技术标签:
【中文标题】PyCharm 类型提示怪异【英文标题】:PyCharm type hinting weirdness 【发布时间】:2016-03-22 23:50:04 【问题描述】:PyCharm 4.5.4 版
使用 Python 3.4.3
由于某种原因,我在 PyCharm 中看到了这个警告,这似乎很奇怪。
预期为 'collections.Iterable',得到的是 'range[int]'
此检查检测函数调用表达式中的类型错误。 由于动态调度和鸭子类型,这在有限的情况下是可能的 但有用的案例数量。函数参数的类型可以是 在文档字符串或 Python 3 函数注释中指定。
for _ in range(x):
对我来说,这似乎是你可以写的最惯用的for loop。
【问题讨论】:
不敢相信一年后这仍然是一个问题。 【参考方案1】:根据您的报告,这似乎是 PyCharm 中的一个错误。范围对象是一个可迭代对象,一个可迭代对象。在 3.4.3 中:
>>> import collections
>>> x = 3
>>> isinstance(range(x), collections.Iterable)
True
尝试向 PyCharm 人员报告问题。
【讨论】:
它已经在那里了:youtrack.jetbrains.com/issue/PY-15038 似乎需要特定的混合解释器设置。谢谢。以上是关于PyCharm 类型提示怪异的主要内容,如果未能解决你的问题,请参考以下文章