Pythonの拡張された対話型インタプリタであるIPythonの使い方について紹介します。
Contents
IPython
Pythonはインタプリタ型の言語で、他のC言語等のコンパイルが必要な言語と異なり、コンパイルを必要とせず順次プログラミングを実行することができます。
IPythonは、対話型インタプリタを強力に拡張したものとなっており、こちらのIPython公式ページにも「IPython provides a rich architecture for interactive computing」と記載があります。
様々な拡張機能があるので細かくはIPython公式ドキュメントを参照してください。この記事ではIPythonの一部についてご紹介します。
Jupyter NotebookやJupyter Labといった言葉を聞いたことがあるかもしれませんが、JupyterはIPythonの共通部分のコンポーネントのことで、グラフィカルに利用できるようにしたのが「Jupyter Notebook」です。Jupyter Labは、Jupyter Notebookをさらに拡張してデータ表示ツール等を組み込んだものです。
IPythonのインストール
Anacondaの場合
Anacondaを開発環境として使用している場合は、IPythonはインストールされているので特にインストールをする必要はありません。
Anacondaのインストールは「Anacondaのインストール方法(Windows)」や「Anacondaのインストール方法(Linux)」を参考にしてください。
pipによるインストール
Anaconda環境ではない場合には、個別にIPythonのインストールします。以下のpipコマンドによりIPythonをインストールしてください。
pip install ipython
IPythonの使用方法
コンソールからの起動
コマンドプロンプト等のコンソールから起動する場合には「ipython」とタイプして実行してもらえば以下のようにIPythonが起動します。
以下はAnaconda Promptからipythonを実行した例です。
PyCharmでのIPythonの利用
私はPyCharmを開発環境として好んで使用していますが、同じようにPyCharmを利用している人であれば、画面左下に「Python Console」と書かれたタブがあると思います。
ここをクリックすると、IPythonが起動しますのでPyCharm上でIPythonを使用してプログラムを実行することが可能です。
IPythonの特徴
IPythonは基本的にpythonのインタプリタ機能を使う場合と同じように使えます。IPythonは様々な拡張機能があるので、特徴的な部分の一部だけを紹介しようと思います。細かな点については、IPython公式ドキュメントを参照してください。
補完機能
IPythonを使用するとメソッドの補完機能を使用することができます。
例えば、mathモジュールをインポートして使おうと思った時にどんな関数があったかを確認したくなった場合には、「math.」までタイプしてTabキーを押すと候補の一覧が表示されます。
キーボードの上下で選択して反映することができるので便利です。
実行履歴参照と修正が容易
通常のPythonのインタプリタで過去の実行履歴を参照して実行する場合には、キーボードの「↑」キーを押すことで戻って実行をすることが可能です。
しかし、この場合は1行ずつしか戻ることができないため、例えばfor文やif文のようなブロックを実行した時には、順番にまた上から実行する必要があります。
IPythonでは「↑」キーを押すとfor等のブロックはまとめて履歴表示されて、かつ行の修正や追加が可能です。
マジックコマンド(magic commands) %~
上の例では、実行履歴をキーボードの「↑」で戻って確認してきましたが、過去自分がどのようなプログラムをしてきたかを確認をしたくなった場合には、以下のように「%history」と記載して実行することで履歴を確認することができます。
このように%から始まるコマンドのことをマジックコマンド(magic commands)と言います。
マジックコマンドの詳細については、公式ドキュメントのBuilt-in magic commandsのページを参照してもらうのが詳しいですが、どのようなマジックコマンドがあるかを手軽に確認したい場合には%quickrefで一覧を参照することができます。
長いので途中を省略しますが、下へ進めてみていくと以下のように使用可能なコマンドの一覧を知ることができます。
まずは%quickrefでコマンドでどのようなものがあるかを調べてから具体的な使い方をBuilt-in magic commandsのページで確認するようにするとよいかなと思います。
IPythonで試しているコードをファイルを保存する%saveや、Pythonファイルのコードを読み込む%load等、色々と便利なコマンドがあるので必要に応じて調べてみるとよいと思います。
メソッド情報を参照する
メソッドの情報を参照したい場合には、以下のように「?」をメソッドの末尾に加えて実行することでメソッド情報を表示することができます。
また、「??」をメソッドの末尾に加えて実行すると、対象メソッドのソースを確認できます。
対話型インタプリタで各種メソッドを確認しながらコーディングを進めるときには便利な機能です。
OSのコマンドを実行する
通常のPythonのインタプリタを使用している場合、Windows等のOSのコマンドを使用しようとすると一度インタプリタを抜ける必要があります。
しかし、IPythonを使用すると以下のように「!」を付けることで、IPythonのインタプリタ上でOSのコマンドを実行することができます。
まとめ
Pythonの拡張された対話型インタプリタであるIPythonの使い方について紹介しました。
今回紹介した機能もIPythonの機能の一例で、他にも色々な機能があるのでIPython公式ドキュメントを参照してもらい色々と試してもらえるとよいかと思います。