iPython代码完成/点智能感知可能吗?

2024-05-23 22:03:58 发布

您现在位置:Python中文网/ 问答频道 /正文

当有人试图学习Python的来龙去脉(重点是科学计算——即熊猫、numpy、scikit learn)时,大多数专家似乎都推荐并使用iPython笔记本。作为初级/中级程序员,我最大的症结是需要IDE中的代码完成/类似智能感知的功能来学习函数参数。我还没有硬连线只是知道什么参数在我目前的发展。

在iPython中,我注意到我可以按Tab来显示选项的下拉列表(如下所示为pd),但我不想每次都点击。这不适合我的需要。相反,我希望它只显示可用的类和方法,当我按点。

其次,我注意到如果我说pd.read_csv(<TAB>,我得到的选项比read_csv中的实际参数多得多。

问题:按点/句点后,iPython能否立即自动显示准确的代码完成选项?此外,是否有方法将其配置为仅在函数内显示可用的函数参数?

为了使这个问题变得更具体,我并没有询问使用任何其他IDE;我只是非常具体地询问iPython,并想知道是否有办法设置某种配置,以便在按下“dot”(无时间延迟)时立即获得准确的“dot”显示选项。

enter image description here

下面的示例显示Desktop,它显然不是pd.read_csv()的参数。

enter image description here


Tags: csv方法代码numpy重点read参数选项
3条回答

您可以按<Shift>-<Tab>获得显示函数签名的工具提示:

enter image description here

或者,调用zip?会在窗口底部打开一个文档窗格。

至于让工具提示自动打开,我不确定。我想通过配置是不可能的。

三年后,我终于找到了一个可能的解决方案。

回答:安装nbextensions并启用腹地扩展。

Enable code autocompletion menu for every keypress in a code cell, instead of only calling it with tab.

你要做的是:

  1. pip install jupyter_contrib_nbextensions
  2. jupyter contrib nbextension install --user
  3. 启动jupyter notebook(浏览器启动)
  4. 其中一个选项卡现在应显示“Nbextensions
  5. 在那里,您可以找到“腹地”。选中复选框以启用。

腹地有一些可调整的选项,如:

  • hinterland.hint_delay:按键和提示请求之间的延迟(毫秒)。
  • Interland.enable_at_start:是否在笔记本首次打开时启用Interland的连续提示,如果为false,则仅在从“帮助”菜单项中选择时启用。
  • hinterland.hint_inside_comments:键入代码注释时是否请求提示。默认为false。
  • 其他regex选项:hinterland.exclude_regexp,hinterland.include_regexp,hinterland.tooltip_regexp

enter image description here

如果您使用的是Jupyter笔记本,但Intellisense不工作,请在下面键入并在(.)之后显示一个按TAB键

%config IPCompleter.greedy=True

这对你也会有用的。

相关问题 更多 >