Python:自动完成可以用于列表中的元素吗?

rga*_*nte 6 python autocomplete type-hinting

Python 在函数参数和函数返回类型中具有类型提示。类的元素有类似的东西吗?我希望能够在以下示例中使用自动完成功能:

class MyClass:
    def hello(self):
        print("Hello")

mylist = []
mylist.append(MyClass())

for i in mylist:
    i.hello() # No autocomplete here
Run Code Online (Sandbox Code Playgroud)

我知道这取决于 IDE,但我的问题是关于某些语言功能,例如上面提到的代码提示。像 mylist = [] : MyClass 或类似的东西

max*_*max 6

是的,它可以。这在 WingIDE 中有效(我确信在 PyCharm 中也有效):

from typing import List

class MyClass:
    def hello(self):
        print("Hello")

mylist: List[MyClass] = []
mylist.append(MyClass())

for i in mylist:
    i.hello() # autocompleted here
Run Code Online (Sandbox Code Playgroud)

如果您使用 3.6 版本之前的 python,只需使用旧式语法:

mylist = []  # type: List[MyClass]
Run Code Online (Sandbox Code Playgroud)

自动完成功能对于任何一种语法都可以正常工作。