我最近从 Matlab 切换到 Numpy 并且喜欢它。然而,我喜欢 Matlab 的一件非常棒的事情是能够完成命令。它有两种方法可以做到这一点:
1)标签完成。如果我有一个名为 foobar(...) 的函数,我可以执行 'fo',它会自动填写 'foobar'
2)“向上按钮”完成(我不知道该怎么称呼它)。如果我最近输入了一个命令,例如 'x = linspace(0, 1, 100); A = 眼睛(50);' 然后我希望快速输入这个相同的命令,以便我可以重新评估它或稍微改变它,然后我只需输入“x =”,然后按下它,它将循环显示你之前输入的所有以“x”开头的命令='。这是 Matlab 中一个非常棒的功能(如果您听说过 Julia,它会做得更好,因为它允许您自动重新输入整个代码块,例如在交互式提示下定义函数时)
这两个功能似乎都没有出现在普通的 python 交互式 shell 中。我相信选项卡自动完成之前已经讨论过,并且可能可以使用 .pythonrc 启动脚本和一些模块来启用;但是我还没有找到任何关于“向上按钮”完成的信息。Python确实具有基本的向上按钮功能,可以简单地滚动浏览所有先前的命令,但是您不能在命令的开头键入并缩小滚动的命令范围,这会产生巨大的差异。
任何人都知道在普通的 python 交互式 shell 上获得此功能的任何方法,而无需使用需要单独安装的 IPython 笔记本等任何花哨的东西?