Python:告诉我的IDE对象是什么类型

Lon*_*Rob 3 python ide autocomplete typing spyder

当我在Python(v2.7)中编写函数时,我经常会为其中一个参数设置一个类型.我正在与pandas莫的令人难以置信的精彩图书馆合作,所以我的论点经常"打算"成为pandas.DataFrames.

在我最喜欢的IDE(Spyder)中,当您键入句点时.,会出现一系列方法.此外,当您键入方法的左括号时,文档字符串将显示在一个小窗口中.

但是要使这些工作起作用,IDE必须知道变量的类型.但当然它永远不会.我是否遗漏了一些关于如何编写Pythonic代码的明显内容(我读过Python不是Java但它没有提到这个IDE自动完成问题.

有什么想法吗?

jdm*_*jdm 13

我不知道它是否适用于Spyder,但许多完成引擎(例如Jedi)也支持断言来告诉它们变量的类型.例如:

def foo(param):
    assert isinstance(param, str)
    # now param will be considered a str
    param.|capitalize
           center
           count
           decode
           ...
Run Code Online (Sandbox Code Playgroud)

  • 在 PyCharm 中工作 (2认同)

Sim*_*kir 6

实际上我使用IntelliJ 想法(又名 pyCharm ),它们提供了多种方法来指定变量类型:

1. 指定简单变量

很简单:只需在定义后面添加带有类型信息的注释即可。Pycharm 即日起支持自动补全!例如:

def route():
    json = request.get_json() # type: dict
Run Code Online (Sandbox Code Playgroud)

来源:https : //www.jetbrains.com/help/pycharm/type-hinting-in-pycharm.html

2. 指定参数

在方法开头后添加三个引号,该想法将自动完成文档字符串,如下例所示:

方法参数示例

来源:https : //www.jetbrains.com/help/pycharm/using-docstrings-to-specify-types.html

(目前在我的手机上,稍后会制作)