支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


Jupyter Notebookとは?

Jupyter Notebookとはプログラミング言語のPythonに対応したツールの一種です。作成したコードや実行結果をそのまま保存できるので管理を簡単に行えます。保存形式の観点から開発・配布用ではなく、自己作業の管理向けのツールです。一般のプログラム管理と違い、データ・コード・実行結果をひとまとめにして管理できます。コードの実行結果も保存ファイルの中に格納されている点が、通常のプログラムファイルと大きく異なる点です。そのため、配布用ファイルには向いていません。

Jupyter Notebookの一番の利点は管理が楽なことです。上記のように通常のファイル管理ではなく、自己作業の管理について特化しています。自分の学習したことをコード・実行結果まるごとノートブックに納めている感覚で使用できます。コメントも通常のPythonと同じ要領で記述することができます。コメントを残しておくことでノートブックとしての意味合いをより一層強めることができます。

Jupyter Notebookの基本操作

Jupyter Notebookの基本操作は、Jupyter Notebookを起動し任意の場所にファイルを作成し使用する、これだけです。あとはファイルの中で自由にコードを記述し実行するだけになります。Jupyter Notebookにファイルを作成することで、白紙のノートブックをデジタル上で用意した状態になります。リアルのノートブックはたくさんのページが用意されています。Jupyter Notebookはそれに似ている形式を持っているため、コードを分割して保存しておくことができます。プログラムごとに保存するというより学習分野ごとに保存するイメージです。そのため、ファイル名に学習内容がわかる名称をつけておくだけで、学習管理ができてしまいます。あとで見直す際も目的の学習分野のノートを探す感覚で振り返ることができるので、とても利用しやすいものとなっています。

学習内容ごとにまとめた時のもうひとつの利点として、記述したコードを再利用しやすいことが挙げられます。途中のコードの内容を変えると、以下の処理にも反映されます。何事もなかったかのように続きのコードを読んでくれるので気にせず変更ができます。途中でコードを区切っていても問題なく動作します。

途中でコードを区切れる利点

途中でコードを区切れる利点として、途中経過ごとに区切ってコードを記述・確認できることが挙げられます。一般的なプログラム作成の場合は、確認したい箇所にprint等を挿入して確認します。この方法の難点は、削除しわすれると確認用か処理に必要なものかが後でわかりにくくなってしまうことです。Jupyter Notebookを利用し元々コードを区切って記述しておけば、確認用のprintかどうかの判別がしやすくなります。リアルのノートブックに、ページごとに内容をまとめておくような書き方に似せて管理することができます。途中でコードが区切れることで後で振り返りやすいファイルにすることが可能です。書き方の一つとして、宣言部、処理記述部、出力部などに分けることで読みやすくすることができます。

またコードの記述内容を変えた場合、その処理結果が下に記述されているコードに反映されるため試行錯誤がしやすくなります。想定した結果が得られなかった場合は、該当するコードを書き換えて修正していくことができます。見返しやすい記述と試行錯誤しやすい記述を両立してプログラム作成できることがJupyter Notebookの良い点です。

matplotlibなども使ってグラフィカルに

Jupyter Notebookの特徴として実行結果がそのまま残せることが挙げられます。ファイルを開けば前回実行した内容がそのまま保管されているため学習結果を振り返りやすくなっています。そして実行結果としてグラフなどもそのまま残しておくことができます。Pythonのライブラリの一つであるmatplotlibを使用すると入力データを元にグラフを作成することができます。プログラムを後追いするときの難点として文字だけでは理解が難しいことが挙げられます。視覚効果のあるグラフとコメントを上手に利用することで容易に思い出せるようになります。

まとめ

プログラミングの勉強は資格勉強を除いて実践が基本になります。手を動かす分覚えやすい一方で、勉強の記録を取るには工夫が必要になるため意外と難しくなっています。Jupyter Notebookを使うだけで記録作成の土台が用意できることはとても重要と言えます。実際に開発を始めると、『前に学んだけど思い出せない』ことが多々あります。適切な記録を取っておくことで時間の無駄を最小限に抑えることができます。記録を残しやすい環境を整えておくことで効率を向上させていくことが可能です。