ipynbファイルとpyファイルの違いは何だろう?

ipynbファイルとpyファイルの違いは何だろう?

2023年9月9日

こんにちは。Nemupyです。

学校でGoogle Colaboratoryを使う機会があったのですが、ファイルがpyファイルではなくipynbファイルであることに気づきました。

拡張子が違うだけで同じファイルだと思っていましたが、調べてみたところ全くの別物でした。

この記事ではipynbファイルとpyファイルの違いについて紹介します。

ipynbファイル

ipynb(IPython Notebook)はJupyter Notebookの環境で使用されるファイル形式です。

Jupyter NotebookはもともとIPytonの対話型開発環境として開発されてきたもので、当初はIPython Notebookという名前でした。現在はR、Julia、Scalaなど、40種類以上のプログラミング言語に対応しています。

大きな特徴は、ソースコード、実行結果、グラフ、数式、文書を1つのファイルに保存することができることです。

Jupyter Notebookではノートブック(Notebook)と呼ばれるドキュメントを作成し、プログラムの記述と実行、メモの作成、保存と共有などをブラウザ上で行うことができます。

ipynbファイルとpyファイルの違い

ipynbファイルとpyファイルの違いは、Jupyter Notebookで使うノートブックのメタデータが含まれているかいないかにあります。

ipynbファイルのフォーマットはpython形式ではなくjson形式になっています。

試しにメモ帳で開いてみるとjson形式であることが分かります。

ノートブックの中ではセルを分けたり、画像を挿入したり、マークダウン方式を使ったりすることができます。その情報がこのjson形式のipynbファイルに格納されているというわけです。

ipynbファイルが使われる場面

ipynbファイルは主にJupyter Notebookで使用されるファイル形式ですが、ほかのツールや環境でも利用されることがあります。以下はipynbファイルが使われる場合があるツールや環境の例です。

Google Colaboratory

Colab(Google Colaboratory)はGoogleが提供しているPythonの実行環境です。誰でもブラウザ上で記述、実行することができ、機械学習データ分析、教育に特に適しています。

それを可能にしているのがまさにJupyter Notebookで、特徴そのものです。

Visual Studio Code

VSCode(Visual Studio Code)はMicrosoftが開発しているソースコードエディタです。非常に軽量で、高速に動作することで有名です。多くのプログラミング言語に対応しており、拡張機能にも対応していて、その使いやすさと拡張性から幅広いプログラミング作業に適しています。

VSCodeではモジュールと拡張機能をインストールすることでipynbファイルを開くことができます。OSで開く場合は、VSCodeを使う人がほとんどだと思います。

あとがき

Jupyter Notebookを使ったことがなかったのでipynbファイルとはほぼ無縁だったのですが、ipynbファイルからJupyter Notebookの特性を知ることができたので良かったです。

見た目上ではPythonファイル同然でしたが、中身を知ると面白いですね。

以上、ここまで読んでいただきありがとうございました。