当将鼠标悬停在变量上时,是否有Python IDE会告诉您变量的类型?

问题描述

| 有时我写项目,直到几个月后才返回。不幸的是,我忘记了要传递给函数的内容。我希望能够将鼠标悬停在参数上,并查看诸如整数,字符串,某些类等的类型。是否有IDE可以为我做到这一点?任何帮助表示赞赏。     

解决方法

        无法正常推断类型,因此没有IDE能够做到这一点。为什么不只使用文档字符串?
def foo(a,b):
    \"\"\"
    Take your arguments back,I don\'t want them!

    a -- int
    b -- str
    \"\"\"

    return a,b
在Python 3中,您还可以利用函数注释:
def foo(a: int,b: str):
    \"\"\"Take your arguments back,I don\'t want them!\"\"\"

    return a,b
    ,        在Python中,如果不实际运行代码并查看它们最终引用了什么,就无法一般地推断变量的类型。即使那样,许多Python代码也可以在许多不同的类型上工作,因此实际上并没有真正的变量唯一类型。 例如,内置函数
any
遍历其参数,如果任何元素为true,则返回
True
。听起来像从bool列表到bool的函数?错误。它所需要的只是可以迭代的东西。这包括列表,元组,字典,集合,生成器和更多内置类型,更不用说实现迭代器协议的用户定义类了。因此,您甚至无法推断出这是因为
any
是在列表中被调用的。而且任何python值(我相信)在布尔上下文中都可以被评估为true / false,因此序列的内容甚至不必是布尔值。 大多数代码不使用Python的完整“动态性”,仅应在每个变量中放入单一类型的值。因此,从理论上讲,您有时可以使用一些注释和启发式方法来进行类型推断。我不知道有任何IDE试图这样做,而且我不认为它是实际可行的。 从根本上讲,您需要有关函数/类的调用方式以及它们返回的东西的类型的文档。如果您缺乏此知识,则无论是否拥有类型信息,都将出错。     ,        在PyCharm中,您可以按住CTRL并指向一个标识符以查看其推断的类型。 PyCharm可以从赋值和返回值中推断出许多类型,还可以从docstrings和python3函数注释中推断出参数和返回类型。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...