【Python】IPythonとは:インストールや使用方法、Jupyter Notebookとの関係

時計 2022.02.08 / 時計

【Python】IPythonとは:インストールや使用方法、Jupyter Notebookとの関係

本記事ではPythonにおける、IPythonについて解説していきます。

Pythonは少ないコードで複雑なプログラミングを可能にする人気のあるプログラミング言語です。

そのPythonによる開発で利用される便利なライブラリの一つにIPythonがあります。IPythonを使うことで、素早い開発を可能にしてくれます。

IPythonのインストール方法や使用方法を本記事を通して学んでください。

IPython

IPythonとは

IPythonとは対話形式でコードを実行でき、様々な便利な機能を備えたインタプリタを利用可能にするライブラリです。Pythonの標準で利用できるインタプリタシェルをより強力に拡張しています。

ipython

Python標準のインタラクティブシェルと同様にコマンドプロンプト上で動作し、入力したコマンドの実行結果をすぐに返す流れが対話している流れに見えるため対話型と呼ばれます。

IPythonは多くの機能を備えており、主に以下の機能が利用されます。

  • タブ補完機能
  • コードのハイライト機能
  • オブジェクトの情報表示
  • マジックコマンド
  • 履歴の探索機能

各機能については後ほど詳しく解説していきます。

インストール

IPythonを利用するにはpipコマンドでインストールする必要があります。

pip install ipython

後述しますが、Anacondaをすでにインストールしている場合はpipコマンドによるインストールは必要ありません。

IPythonの起動

IPythonの起動にはipythonコマンドを実行します。

$ ipython
Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.29.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]:

IPythonとAnaconda、Jupyter Notebookの関係

Anacondaのインストール

Anacondaをインストールすることで以下のコンポーネントも自動的にインストトールされます。

  • IPython
  • Jupyter Notebook

そのためAnacondaをインストールしている場合は、わざわざpipコマンドでIPythonをインストールする必要はありません。

Jupyter Notebook

Jupyter Notebook(ジュピターノートブック)とはWebブラウザ上で実行できる開発環境です。Anacondaをインストールすることで同時にインストールされます。

Jupyter Notebookは統計解析や機械学習、ディープラーニングといった分野の開発環境での利用が多いです。

Anacondaをインストールせずにpipコマンドでインストールすることもできます。

$ pip install jupyter

以前までは「IPython Notebook」というIPython専用のツールでしたが、現在は多言語に対応するようになり「Jupyter Notebook」と名前を変えています。

Jupyter Notebookを簡単に説明すると、Webブラウザ上でIPythonを実行できるようにしたものです。

つまりIPythonのWebブラウザ版とも言えます。

そのため次項以降で解説するIPythonの便利な機能はJupyter Notebook上でも利用できます。

ここまでのポイント
  • IPythonはコマンドプロンプト上で動作するPython実行環境
  • Jupyter NotebookはWebブラウザ上で動作するPython実行環境

IPythonの便利な機能

タブ補完機能

IPythonで最も利用される機能がタブによる補完機能です。

名前を1文字以上入力して「タブ(Tab)」キーを押すことで入力途中のものを補完してくれます。前方一致で候補が複数あった場合は候補一覧が表示されます。

例えば「p」と入力してTabキーを押すと下図のようにprint()などの候補一覧が表示されます。

ipython:タブ補完機能

次に「import o」と入力してTabキーを押すと下図のように候補が表示します。

ipython:インポートしたモジュールの補完

この補完機能は標準ライブラリやインポートしたモジュール、自作のメソッド、変数などにも適用されます。

コードのハイライト機能

IPythonでコードを記入すると、コードが読みやすくなるように自動的に異なる色でハイライトされます。

ipython:コードのハイライト

ハイライトは分類ごとに異なっており、例えばforやifは緑色、inは赤色で表示されます。これによりコードが読みやすくなり、間違いに気づきやすくなります。

オブジェクトの情報表示(インスペクション)

モジュールや関数、変数のあとに「?(クエスチョンマーク)」を入力して実行すると、その使い方などの情報が表示(インスペクション)されます。

ipython:イントロスペクション

変数に対して情報表示を行うと、次図のようにオブジェクトの型や値などが確認できます。

ipython:イントロスペクション(datetime)

より詳細な情報を確認したい場合は「??」と入力することで詳細表示がされます。

マジックコマンド

IPythonにはpythonコードを実行するだけでなく、マジックコマンドと呼ばれる便利なコマンドを実行することができます。

マジックコマンドにはラインマジックとセルマジックの2種類があり、すべて「%」で始まります。

ラインマジックは「%」を先頭につけたコマンドであり、コマンド以降の1行が実行されます。
セルマジックは「%%」を先頭につけたコマンドであり、複数行をコマンドとして実行できます。

用意されているコマンドは一般のOSコマンドで、主に以下のコマンドが利用されます。

マジックコマンド 説明
%cd カレントディレクトリの変更
%pwd カレントディレクトリの表示
%run 指定ファイルをIPythonで実行
%load 指定ファイルを読み込みIPythonで実行
%timeit コードの実行時間を計測
%save 実行履歴をファイルに保存
%logstart 指定ファイルに実行コードや結果をログ保存
%history コマンドの履歴表示

例えば%timeitの場合は以下のようにラインマジックとセルマジックは利用します。

ipython:マジックコマンドtimeit

マジックコマンドの種類は非常に多いです。どのようなマジックコマンドがあるか確認したい方は「%quickref」を実行して確認してみてください。

または以下サイトからもマジックコマンドの一覧を確認できます。

IPython – magic commands

履歴の探索機能

IPythonは入力や出力の履歴を保存してくれます。もし間違えて終了してしまっても、履歴がちゃんと残されています。

またマジックコマンドの%logstartを利用することで、ログファイルとして残しておくことも可能です。

もしくは%historyを実行してコマンド履歴の確認もできます。

まとめ

本記事「【Python】IPythonとは:インストールや使用方法、Jupyter Notebookとの関係」はいかがでしたか。

本記事で解説したことのまとめを以下に記します。

まとめ
  • IPythonは様々な便利な機能を備えたインタプリタシェル
  • Anacondaに最初から備わっている
  • Jupyter NotebookはIPythonのWebブラウザ版とも言える
  • タグ補完機能でコードミスを減らすことができる
  • コードのハイライトによりコードが読みやすくなる
  • オブジェクトの情報開示がとても便利
  • マジックコマンドでOSコマンドが利用可能
  • 履歴が保存されるので間違って終了しても問題ない

IPythonにはたくさんのメリットがありますので、ぜひどんどん開発に活用してみてください。