【问题标题】:Python 3.5 Typing ABCMeta does not define '__getitem__'Python 3.5 键入 ABCMeta 未定义“__getitem__”
【发布时间】:2016-03-06 01:49:55
【问题描述】:

我正在通过标记我的一些函数来尝试 Python 3.5 的打字模块。

虽然我在 PyCharm 中收到警告,但我有一个返回列表的函数。

警告内容如下:

“ABCMeta”类没有定义“__getitem__”,因此不能在其实例上使用“[]”运算符

from typing import List

def get_list() -> List[int]:
    return [1, 2, 3]

有谁能比我更好地解释这条信息吗?

谢谢

【问题讨论】:

  • 哪个版本的 PyCharm?
  • 5.0.2.我认为这是 EAP 构建
  • 看起来很可能你实际上并没有在这里使用 Python3.5,即使看起来你是。 Pycharm 可能正在做一些事情
  • 哦等等,我想我看错了。这是来自 PyCharm 的 警告,而不是 Python 运行时的错误?那么 PyCharm 就是错了,忽略它。
  • 这很奇怪,因为this blog post 说它应该可以工作

标签: python pycharm typing


【解决方案1】:

是 PyCharm 中的一个错误。在 5.0.3 中解决。 参考:https://youtrack.jetbrains.com/issueMobile/PY-17841

【讨论】:

  • 我在使用 Python 3.5.0 + PyCharm 5.0.2 时遇到了同样的问题,但现在似乎使用 5.0.3。太好了!
猜你喜欢
  • 2018-03-11
  • 2016-01-14
  • 2018-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
相关资源
最近更新 更多