私は最近、Matlab から Numpy に切り替えて気に入っています。ただし、Matlab で私が気に入った非常に優れた点の 1 つは、コマンドを完了する機能です。これには、次の 2 つの方法があります。
1) タブ補完。foobar(...) という関数がある場合、「fo」を実行すると、「foobar」が自動的に入力されます。
2)「上ボタン」の完了(これを何と呼ぶかわかりません)。最近、「x = linspace(0, 1, 100);」などのコマンドを入力したとします。A = アイ(50);' 次に、この同じコマンドをすばやく入力して、再評価したり、少し変更したりしたい場合は、単に「x =」と入力して上に押すと、「x」で始まる以前に入力したすべてのコマンドが循環します='. これは、Matlab の素晴らしい機能でした (Julia について聞いたことがあるなら、インタラクティブなプロンプトで関数を定義するときなど、コードブロック全体を自動的に再入力できるようにすることで、さらに優れた機能を実現しています)。
これらの機能は両方とも、通常の Python インタラクティブ シェルには存在しないようです。タブのオートコンプリートは以前に議論されており、おそらく .pythonrc 起動スクリプトといくつかのモジュールを使用して有効にできると思います。ただし、「上ボタン」の完了については何も見つかりませんでした。Pythonには、以前のすべてのコマンドを単純にスクロールする基本的な上ボタン機能がありますが、コマンドの最初に入力して、スクロールするコマンドの範囲を絞り込むことはできません。これは大きな違いです.
個別のインストールが必要な IPython ノートブックのような派手なものに行かずに、通常の python インタラクティブ シェルでこの機能を取得する方法を知っている人はいますか?