如何在Jupyter笔记本中启用和使用自动完成功能

224 阅读5分钟

无论你在编写计算机程序方面有多出色,都很难记住所有的函数名称、语法和函数参数。所以,程序员需要使用Jupyter笔记本中的自动代码完成或IntelliSense菜单功能。通常情况下,程序员和开发人员都熟悉不同的自动完成工具。

代码自动完成功能默认包含在大多数源代码编辑器中,通过它可以查看IntelliSense菜单或程序文件中下拉的代码建议。代码自动完成功能可以节省你编写复杂程序的时间,收到更少的错误,你可以使用下拉建议快速在代码中包含方法、属性和类。

在这篇文章中,我们将展示如何 使用不同的方法在Jupyter笔记本中启用和使用自动完成功能 在开始演示之前,Jupyter笔记本环境应该在你的系统上运行。

Jupyter笔记本中的自动完成功能

大多数第一次使用Jupyter环境的程序员都想知道如何在IPython笔记本中使用代码自动完成功能。对于这些用户来说,这是令人惊讶的,好消息是,你不需要安装任何外部工具来使用Jupyter笔记本中的自动完成功能。自动完成功能是随着标准的Jupyter笔记本设置而来的。

Jupyter笔记本中的自动完成功能可以帮助你在笔记本中选择一个合适的对象、模块、类和变量。通过这种方式,你可以有效地、更容易地完成你的代码。

在Jupyter笔记本中使用Tab控件进行自动补全

要使用代码自动完成,你必须输入模块、对象或类的名称,然后点击键盘上的 Tab键。按下Tab键后,完成的建议会出现在下拉框中,如下例所示:

例如,我们导入一个用于解决数据科学问题的pandas库。当你创建一个新的对象时,自动完成选项也会帮助你创建对象,如下截图所示:

当你已经有了一个对象并想把它分配给一个变量时,你也可以在Jupyter笔记本中使用自动完成。使用自动补全,你可以访问键入的前缀对象的参数和方法列表。例如,DataFrame对象包含各种方法和参数,你可以很容易地访问 '.' 点之后的方法。键入方法的第一个字母,然后按**'Tab'** 键,如下所示。

用于导入你的Jupyter笔记本中的模块名称的自动完成功能。自动完成功能将帮助你,因为在大多数情况下,你不记得某个特定库的确切名称。 然而,你知道这个库提供了很酷的算法。要导入这个模块,只需输入头一个或两个字母,然后按键盘上的 Tab键。相关的建议将显示在盒子下面,如下所示:

选择你想添加到IPython笔记本中的所需模块。

当你想在程序中重复使用变量、类或属性时,你也可以使用Jupyter笔记本中的自动完成功能。例如,我们已经在程序中初始化了两个测试变量。当我们输入一个同样以字母开头的变量的前缀,并按下**"Tab "** 键,它就会在下拉框中显示相关的变量名称建议,如下所示。

只有一个变量会显示在建议中,而不是很多选择。在这种情况下,它将为我们输入完整的变量名称。

自动完成也很有帮助,当你按下 **'Shift+Tab'**键时,它会在一个框中显示函数帮助、类型和工具提示信息,如下所示。

在函数名后面使用 **'? '**而不使用'()',会显示IPython笔记本中的对象文档和方法文档,你可以在以下截图中看到。

所有的自动补全快捷键 **'Tab, Shift+Tab, 和 ? '**默认情况下在Jupyter笔记本中启用,无需使用任何扩展或插件。

使用Hinterland扩展在Jupyter笔记本中添加IntelliSense或自动完成功能

要在Jupyter笔记本中添加代码智能提示或自动补全,你可以使用Jupyter "腹地 "扩展。大多数用户无法找到如何通过pip软件包管理器直接安装这个扩展。因此,你可以通过以下步骤在你的Jupyter笔记本中启用这个扩展。

第1步:首先,通过在终端执行以下命令来安装jupyter contrib nbextensions。

> pip install jupyter_contrib_nbextensions

第2步: 通过以下命令安装jupyter环境中的CSS和js文件。

> jupyter contrib nbextension install --user

第3步: 在最后一步,你需要启用**"hinterland "**扩展

> jupyter nbextension enable hinterland/hinterland

下面的输出显示在终端。

现在,再次在线重启Jupyter笔记本内核。导入模块并创建对象。你会注意到自动补全或IntelliSense自动显示在下拉菜单中,而不需要使用Jupyter笔记本中的**"Tab "**控件,如下所示。

有更多的扩展用于自动补全,但用户更喜欢在Jupyter笔记本中使用腹语和Tab选项进行自动补全。

总结

我们在本教程中讨论了如何在Jupyter笔记本中启用和使用自动完成或IntelliSense功能。我们看到了 "Tab、Shift+Tab和? "是如何帮助我们在Jupyter笔记本中编写代码的。我们还演示了如何在Jupyter笔记本中安装和启用腹地扩展以使用代码自动完成功能。