Автозаполнение с подсказкой типа в PyCharm для списков определенного типа - PullRequest
0 голосов
/ 12 октября 2018

Этот ответ показывает, как использовать подсказки типов в PyCharm для списков.Но можно ли намекнуть PyCharm, какие объекты присутствуют в списке?Я знаю, что список в Python может иметь объекты различного типа.Но только ради автодополнения я хочу этого.Например, если у меня есть list из numpy.ndarrays, могу ли я намекнуть, чтобы, когда я делаю obj_list[0]., PyCharm дает мне автозаполнение для numpy.ndarray?Спасибо

1 Ответ

0 голосов
/ 12 октября 2018

Pycharm действительно имеет некоторую поддержку для этого, но пока не идеально (я использую версию 2018.2.4).

Для большинства типов это работает хорошо (встроенные типы и некоторые простые пользовательские классыпротестированы):

# hint type in function document:

def func(a):
    """
    :param a:
    :type a list[str]
    :return:
    """
    a[0]   # will autocomplete 

# another way, use `typing` module
from typing import List
def func(a: List[str]):
    a[0]   # will autocomplete

К сожалению, оба подхода в настоящее время не работают для типов numpy.Пихарм будет жаловаться на cannot find reference ndarray in __init__.py.

...