как использовать подсказки типов — PEP 484 при создании новых объектов в python 3.7, чтобы иметь возможность завершения кода в pycharm 2019.2.4

система: федора 31

Pycharm не выполняет автоматическое завершение при вводе my_var_hash. , с venv проблем нет.

Как использовать Type-Hints с такими модулями, как hashlib, и таким образом мы можем использовать параметры автозаполнения (CTRL+пробел).
Пример кода ниже, но автодополнение не работает (функции: my_var_hash.update(b'lmao') , my_var_hash.hexdigest() ).

import hashlib

my_var_hash = hashlib.sha256()
print(my_var_hash)
my_var_hash.update(b'lmao')
print(my_var_hash.hexdigest())
print(type(my_var_hash.hexdigest()))

введите здесь описание изображения


введите здесь описание изображения


person christianbueno.1    schedule 18.11.2019    source источник


Ответы (1)


проблема в том, что hashlib.sha256() не имеет определенного типа или какой-либо строки документации (при использовании стандартного cptyhon), поэтому PyCharm присваивает ему тип «Любой», который не имеет дополнительной информации.

Это проблема с библиотекой, а не с вашей настройкой.

person Derte Trdelnik    schedule 19.11.2019
comment
тогда невозможно ли достичь того, чего я желаю? - person christianbueno.1; 19.11.2019
comment
модуль/библиотека будут переписаны и добавлены аннотации типов, вот что вы говорите? - person christianbueno.1; 19.11.2019
comment
да, вам нужно будет добавить подсказки типов или строки документации с типами, кто-то может сделать это в будущем — даже вы можете сделать это, поскольку python принимает вклады от сообщества devguide.python.org это отличная отправная точка (в документации по коду, скорее всего, будет принята, если она сделана хорошо по сравнению с изменениями функциональности), вы можете посмотреть на другие встроенные библиотеки, чтобы увидеть, как это делается там - person Derte Trdelnik; 20.11.2019