Python 3.x 如何使用;类型提示-PEP 484“;在Python3.7中创建新对象时,可以在Python3.2.4中完成代码

Python 3.x 如何使用;类型提示-PEP 484“;在Python3.7中创建新对象时,可以在Python3.2.4中完成代码,python-3.x,pycharm,type-hinting,hashlib,Python 3.x,Pycharm,Type Hinting,Hashlib,系统:fedora 31 当键入my\u var\u hash.时,Pycharm不会让我自动完成。venv没有问题 如何使用在hashlib等模块中键入提示,这样我们就可以使用自动完成选项(CTRL+space)。 下面是代码示例,但自动完成不起作用。(函数:my\u var\u hash.update(b'lmao')、my\u var\u hash.hexdigest()) 问题在于hashlib.sha256()没有定义类型或某些docstring(使用标准cptyhon时) 因此,

系统:fedora 31

当键入
my\u var\u hash.
时,Pycharm不会让我自动完成。venv没有问题

如何使用在hashlib等模块中键入提示,这样我们就可以使用自动完成选项(CTRL+space)。
下面是代码示例,但自动完成不起作用。(函数:
my\u var\u hash.update(b'lmao')、my\u var\u hash.hexdigest()



问题在于
hashlib.sha256()
没有定义类型或某些docstring(使用标准cptyhon时) 因此,PyCharm将其指定为没有任何额外信息的“Any”类型


这是一个库问题,不是您的设置问题

那么,不可能达到我的要求吗?模块/库将被重写并添加类型注释,这就是您所说的?是的,您必须添加类型提示或带有类型的docstring,将来可能会有人这样做->即使你也可以这样做,因为python接受社区的贡献。这是一个很好的起点(在代码文档中,如果与功能更改相比做得好,很可能会被接受)。你可以查看其他内置库,看看它是如何做到的
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()))