Pycharm:输入提示项列表

时间:2016-09-27 23:31:25

标签: python pycharm

我的问题不同,因为我使用类型提示时出错了。

我在pycharm中发现了一种奇怪的类型: enter image description here

Example是我自己的班级。但我想这不太重要,因为IDE抱怨list类型没有定义__getitem__方法,这是不正确的。我想知道这是一个错误还是我以错误的方式使用它。

2 个答案:

答案 0 :(得分:7)

根据official PEP来表示您应该使用typing.List而不是list内置的对象列表。

from typing import List


class Something:
    pass


def f(seq: List[Something]):  # no warning
    for o in seq:
        print(o)

答案 1 :(得分:2)

Łukasz解释了如何纠正您的代码。我将解释为什么错误消息会说明它的作用。

list定义__getitem__,为true,但这不是错误消息所抱怨的内容。该错误消息表明type本身(list 类型的类型)不支持__getitem__。要使list[whatever]有效,type必须定义__getitem__方法,而不是list