当有人试图学习Python的细节(强调科学计算 - 即:熊猫,numpy,scikit-learn)时,大多数大师似乎都在推荐和使用iPython笔记本.作为初学者/中级编码器,我最大的难点在于我需要从IDE中获取代码完成/智能感知功能来学习函数参数.我还没有简单地知道当前开发中可用的参数.
在iPython中,我注意到我可以按下Tab
以显示选项的下拉菜单(见下面的pd.)但我不想每次都打.这对我的需求来说不是用户友好的.相反,当我按下dot时,我希望它只显示可用的类和方法.
其次,我注意到如果我说的话pd.read_csv(<TAB>
,我会得到比实际参数更多的选项read_csv
.
问题:按下点/句点后,iPython可以立即自动显示准确的代码完成选项吗?另外,有没有办法将其配置为仅在函数内显示可用的函数参数?
为了使这个问题超级具体,我不是要求使用任何其他IDE; 我只是非常具体地询问iPython,并想知道是否有办法设置某种配置,以便在按下"点"(没有时间延迟)时立即获得准确的"点"显示选项.
下面的例子显示Desktop
哪个显然不是参数pd.read_csv()
.
jme*_*jme 52
您可以按<Shift>-<Tab>
以获取显示该功能签名的工具提示:
或者,调用zip?
将在窗口底部打开文档窗格.
至于自动打开工具提示,我不确定.我想通过配置是不可能的.
Jar*_*rad 17
差不多3年后,我终于遇到了一个潜在的解决方案.
答案:安装nbextensions并启用Hinterland扩展.
为代码单元格中的每个按键启用代码自动完成菜单,而不是仅使用选项卡调用它.
这是你做的:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter notebook
(浏览器启动)Hinterland有一些可调节的选项,如:
现在有一个更好的方法来获得准确的代码完成操作。它可以由您键入的任何字符触发。受 TabNine 的启发,我为 Jupyter Notebook Jupyter TabNine开发了一个代码自动完成扩展。
它现在可以在pypi 索引上使用。只需发出以下命令,然后享受它:)
pip3 install jupyter-tabnine
jupyter nbextension install --py jupyter_tabnine
jupyter nbextension enable --py jupyter_tabnine
jupyter serverextension enable --py jupyter_tabnine
Run Code Online (Sandbox Code Playgroud)
这对我有用:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter notebook
Run Code Online (Sandbox Code Playgroud)
如果有东西隐藏了它,要查看 Nbextensions 选项卡:
jupyter nbextensions_configurator enable --user
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您使用的是Jupyter笔记本并且您的Intellisense无法正常工作,请在下面键入以下内容,并在(。)后按Tab。
%config IPCompleter.greedy =真实
它也会为您服务。