アラサーOL|pythonを使ってみよう(Jupyter Notebookを使う方法)

アラサーOLのためのpython入門講座
Jupyter Notebookは実用的で便利な方法です!

Ciao!みなさんこんにちは!このブログでは主に
(1)pythonデータ解析,
(2)DTM音楽作成,
(3)お料理,
(4)博士転職
の4つのトピックについて発信しています。

今回は「アラサーOLのためのpython入門講座」です!
この講座では、プログラミング初心者アラサーOLのMi坊さんに、pythonを学習する上でのアドバイスを行います!
パソコンもプログラミングも初心者だけど、プログラミングができるようになりたい!」という方のためにstep-by-stepで解説していきます。

今日はpythonを実際に使ってみましょう!
pythonを動かす方法はいくつかありますが、今回はJupyter Notebookを使う方法をご紹介します!
pythonでプログラミングを学ぶときや、データ分析で方法を色々と試しながらコードを書く際によく使う方法です。
複雑な処理を書くこともできますし、実用的で便利な手段です。
ぜひ習得しましょう!

今回の記事でも本格的にpythonの学習を始める前に、pythonでどんなことができるのかざっくり掴んでみるのが今回のゴールです!
一つ一つ説明しますので、一緒にやってみましょう!

Kaiko
Kaiko

この記事はこんな人におすすめ

  • 初心者だけどpythonを始めた!
  • とりあえずpythonを使ってみたい!
  • 実用的なpythonの動かし方を知りたい!
  1. Abstract | Jupyter Notebookはpythonの学習に使える!
  2. Background | Jupyter Notebookでできること
    1. Jupyter Notebookの特長
      1. プログラムをPython Notebook形式で残せる
      2. コードの編集と実行をインタラクティブにできる
      3. コーディングしながらレポートを作成して出力できる
    2. Jupyter Notebookの使い所
      1. Jupyter Notebookは試行錯誤が必要なpythonの学習に最適
      2. 内部向けならレポートはJupyter Notebookで済んでしまう
  3. Method | Jupyter Notebookの使い方
    1. 事前準備 | python仮想環境の確認とJupyterのインストール
      1. python仮想環境の確認
      2. Jupyterのインストール
    2. Jupyter Notebookの起動・終了方法
      1. 作業用ディレクトリの作成
      2. Jupyter Notebookの起動
      3. Jupyter Notebookの終了
    3. Python Notebookの起動・終了方法
      1. Python Notebookの起動
        1. Python Notebookのリネーム
        2. Python Notebookのファイルを確認(ターミナルの練習)
          1. 新しいターミナルウィンドウの開き方
          2. 新しいターミナルを起動した時の動作を変更したい場合 | 環境設定
          3. 作成されたPython Notebookの確認
      2. Python Notebookの終了
      3. 既存のPython Notebookを起動する
      4. ブラウザのクローズだけではPython Notebookは終了しない
  4. Result | Jupyter Notebook上でのpythonコーディングと実行方法
    1. Python Notebookの使い方
      1. メニューバー・メニューアイコンの使い方はやりながら覚えましょう
      2. CodeセルとMarkdownセル
    2. まずはHello, worldを出力してみよう
      1. コードセルへの入力
      2. コードセルの実行 | 「Shift + Enter」or 「Run」
      3. Python Notebookとprint文 | 最終行以外の出力にはprint文が必須
    3. Markdownセルを使ってみよう
      1. セルの挿入
      2. 見出しの入力方法 | #を使う
      3. 文章の入力方法
    4. 関数を使った処理を組んでみよう
  5. Discussion | Jupyter Notebookの出力方法
    1. html(.html)で出力する方法
    2. pdf(.pdf)として出力する方法
    3. pythonスクリプト(.py)として出力する方法
      1. Python Notebookをpythonスクリプトとして保存する方法
      2. ダウンロードしたpythonスクリプトを実行してみよう
        1. ダウンロードしたファイルをpython_practiceのディレクトリに移動する
        2. ダウンロードしたpythonスクリプトを実行する
  6. Conclusion | まとめ

Abstract | Jupyter Notebookはpythonの学習に使える!

pythonの学習をするなら、Jupyter Notebookでコードを書いて実行する方法が適しています。
Jupyter NotebookはWebブラウザ上でコードの編集と実行ができる「統合開発環境」です。
行いたい処理を予め書いておいてから実行できるので、複数のコマンドから成る処理など複雑な処理を行うことができます。
また、コードの一部だけ実行したり、その結果を見てコードを書き直すなどの試行錯誤もしやすいです。
pythonを習得するには自分でコードを書いて実行してみて、どのような挙動をするのかを学ぶ必要があります。
Jupyter Notebookを使えばこのような試行錯誤をしやすので学習がスムーズに進められるはずです。
学習のためだけでなく、Jupyter Notebokはpythonを動かす実用的で便利な手段です。
Jupyter Notebookの使い方を習得してpythonの学習効率を高めましょう!



Background | Jupyter Notebookでできること

Jupyter Notebookはコードを編集し、そのコードを実行することもできる、いわゆる統合開発環境と呼ばれるものです。
Jupyter Notebookを使うと、ターミナル上でpythonを実行する方法に比べて複雑な処理を簡単に実現することができます。
Jupyterはジュピターまたはジュパイターと発音します。

前回の記事「アラサーOL|pythonを使ってみよう|(ターミナルから直接操作する方法)」ではターミナル上にpythonを立ち上げて、ターミナルにコマンドを入力する要領でpythonを動かしました。
この方法だと、一行一行コマンドを書いては実行し、書いては実行しというプロセスを踏むので、実行に複数行必要な処理や、いくつかのコマンドをまとめると一つの処理として完成するといった、少し複雑な処理でも書くのが困難でした。
Jupyter Notebookでは、いくつかのコマンドをまとめた処理を予め記述した上で実行することができるため、このような問題が解決できます。

今回ご紹介するJupyter Notebookを使う方法と前回のターミナル上で動かす方法の他にスクリプトを書いてから実行するという方法もあります。
この方法では、予め行いたい処理をすべてテキストファイルに記述しておき、一気に全部実行することになります。
ターミナル上で一行ずつコマンドを書いて実行する方法の対局にある方法です。
Jupyter Notebookを使う方法はこの中間で、行いたい処理を予め書いておくのはスクリプトを書く方法と共通していますが、実行は一部ずつ行うことができます。
そのため実行結果を見ながら分析アプローチを検討したいなど、試行錯誤が必要な場合に力を発揮します。



Jupyter Notebookの特長

Jupyter NotebookはWebブラウザ上で編集・実行でき、統合開発環境として使いやすいという特長もありますが、

  • スクリプトファイルをnotebook形式で残せる
  • コードの編集と実行をインタラクティブにできる
  • コーディングしながらレポートを作成して出力できる

という利点があります。

プログラムをPython Notebook形式で残せる

Jupyter Notebookを使うと、実行した一連のコマンドをプログラムとして、Python Notebookという形式で残しておくことができます。
あとで似たようなプログラムを書きたいときや修正してやり直したい場合に、このPython Notebookを編集すればすぐにできます。
ターミナル上にpythonを立ち上げる方法では、実行したコマンドをひとつのプログラムとして残しておくことはできない(方法はありますが)ので、これがJupyter Notebookのひとつの利点です。

コードの編集と実行をインタラクティブにできる

コードの一部を編集し、実行し、結果を見てまたやり方を直すなどと、インタラクティブなコーディングが行いやすいこともJupyter Notebookの利点です。
ターミナル上にpythonを立ち上げる方法では、過去に実行したコマンドを呼び出して編集するのが面倒ですし、スクリプトを実行する方法では興味のある一部だけ実行することができません。

コーディングしながらレポートを作成して出力できる

Pythonのコードとその実行結果をレポートなどの書類として残したいとき、Jupyter Notebookは威力を発揮します。
Jupyter Notebookはコードを書く部分に加えて文書を書く部分が設定されています。
通常のプログラミングのスクリプトでは、コードの中に「コメント」として簡単な注意書きを書くことはできますが、レポートのようなしっかりした日本語の文章を書くことは想定されていません。
Jupyter Notebookには「Markdownセル」という見出しを付けたり数式をきれいに書く機能が備わっているため、コードを書きながら分析内容の説明などをレポートとして書き上げることができます。



Jupyter Notebookの使い所

以上のような特長があるため、Jupyter Notebookは

  • pythonの学習
  • 単発のデータ分析

のような場面に最適です。

Jupyter Notebookは試行錯誤が必要なpythonの学習に最適

pythonの学習では、コマンドをいろいろ実行してみて動作を学ぶ必要があります。
Jupyter Notebookなら

  • コードを書いて実行
  • 結果を見てコードを編集
  • また実行

という試行錯誤のサイクルを回しやすいのでpythonの学習を効率よく行えます。

内部向けならレポートはJupyter Notebookで済んでしまう

私の場合、業務で発生する単発のデータ分析でJupyter Notebookをよく使います。
データ分析のように本格的にプログラミングを行う場合はJupyter Notebookを使うかスクリプトを書くかの2択です。
単発のデータ分析のような案件では同じプログラムを何度も使うということはなく、試行錯誤しながら短時間で仕上げることになるためJupyter Notebookの試行錯誤性を活かすことができます。

また、文章を書く「Markdownセル」の機能を使って、どのような分析をしているのか説明書きを書くことで後で振り返ったときや報告書を作成するときにわかりやすいようにしています。
「Markdownセル」では見出しや箇条書き、数式を使って、ロジカルな文章を書くことができます。
さすがにJupyter Notebookを外部向けのレポートとして納品することはまだ経験がないですが、内部向けならJupyter Notebookでレポートしてしまうこともあります。



Method | Jupyter Notebookの使い方

Jupyter Notebookを使ってみましょう!

事前準備 | python仮想環境の確認とJupyterのインストール

まずは事前準備です!
前回と前々回の記事通りに準備をしている場合はこのプロセスは不要ですので次の「Jupyter Notebookの起動・終了方法」に進んでください!

python仮想環境の確認

ターミナルを起動してプロンプトの頭に

(base) kaiko ~ %

といったように(base)などのpython仮想環境名が出現していることを確認しましょう。

kaiko ~ % 

のようになっていて仮想環境名がついていない場合はconda activateで仮想環境の有効化を行ってください。

conda activate

とすれば、自分で作成した仮想環境の(base)を有効化できます。

python仮想環境の構築方法については、前々回の記事「アラサーOL|python環境構築入門(python3.9をM1 Macにインストールしよう!)」をご覧ください。
python仮想環境の有効化については前回記事「アラサーOL|pythonを使ってみよう|(ターミナルから直接操作する方法)」もご覧ください。

Jupyterのインストール

Jupyterのインストールがまだの場合は、仮想環境上でインストールします。
前々回の記事「アラサーOL|python環境構築入門(python3.9をM1 Macにインストールしよう!)」で紹介した方法で行います。
ターミナルを立ち上げて、仮想環境の有効化を行ったら

conda install jupyter

を実行します。
Jupyterに必要な関連するパッケージがたくさん表示され、Proceed ([y]/n)?と聞かれますのでyと答えます。
しばらくするとインストールが完了します。



Jupyter Notebookの起動・終了方法

ターミナルを立ち上げ、仮想環境を有効にしてください。

作業用ディレクトリの作成

まずは、作業用のディレクトリを作ってそこに移動しましょう。
Jupyter Notebookでは.ipynbというファイルが作成されますので、作業用のディレクトリを作っておいた方が管理が楽です。
ディレクトリ名は何でもいいですし、どこに作っても良いですが、ここでは一旦ホームディレクトリ直下にpython_practiceというディレクトリを作ってみましょう。
ターミナルで

pwd

で今いる場所を確認しましょう。もしホームディレクトリでなかったら

cd

でホームに戻りましょう。
ホーム以外の場所にディレクトリを作りたい場合は”cd 移動先”として実行して所望の場所にいどうしましょう。

次に

mkdir python_practice

を実行してディレクトリを作りましょう。
最後に

cd python_practice

でpython_practiceに移動します。

Jupyter Notebookの起動

Jupyter Notebookを起動します。
ターミナルで

jupyter notebook

というコマンドを実行しましょう。
実行すると下図1のような出力がターミナルに出力されます。

図1. Jupyter Notebook起動時のターミナル出力

Jupyter Notebookを使っている間、このターミナルは「Jupyter環境に入った状態」になり、ターミナルとしては操作できなくなります。
またJupyter Notebook側のWebブラウザで何か操作すると、このターミナルにいろいろ出力されます(気にしなくて構いません)。 

Jupyter Notebookを起動すると同時にデフォルトのWebブラウザが立ち上がるはずです。下図2のようにJupyterの画面が立ち上がります。

図2. Jupyter Notebookのブラウザ画面

もし図2のような画面がどこにも表示されない場合は、手動でやりましょう。
ウェブブラウザを立ち上げてください。
ターミナル出力の「Or copy and paste one of these URLs:」のあとに書かれている「http//localhost.8888/?token=hogehoge」をコピーし、ウェブブラウザのアドレスバーにペーストしてエンターしましょう。
図2のような画面が表示されます。

これでJupyte Notebookが起動できました!

Jupyter Notebookの終了

作業が一通り終わってJupyter Notebookを終了する場合は、Jupyterの画面の右上の終了ボタンをおしてください。
押すと、下図3のような表示がされてJupyter Notebookが終了します。

図3. Jupyterの画面の「終了」を押して出てくる画面

ターミナル上でも下図4のように出力され、もとのzshなどのデフォルトシェルに復帰し、操作できるようになります。

図4. Jupyterの画面の「終了」を押したときのターミナルの表示

Jupyter Notebookの終了はJupyterを起動したターミナルから行うこともできます。
図1を見ると「サーバを停止し全てのカーネルをシャットダウンするには Control-C を使って下さい(確認をスキップするには2回)。」と書いてあります。
この通り操作するとJupyter Notebookを終了することができます。
Jupyterを起動したターミナル(図1の画面)上で「Cntrl + C」を押します。
すると、「このノートブックサーバをシャットダウンしますか? (y/[n])」と聞かれるのでyと入力すると終了します。
「Cntrl + C」を2回連続で押すと何も聞かれずにJupyterが終了します。



Python Notebookの起動・終了方法

まずはJupyter Notebookを起動しましょう。
起動できたら以下の要領でpythonを起動します。

Python Notebookの起動

起動したらJupyter Notebookのブラウザ画面の右上の「新規」をクリックします。
すると「Python 3」という選択肢が出るので、それをクリックします(下図5)。

図5. Python Notebookの起動

クリックすると、Webブラウザで新しいタブが開かれ「Untitled」という名前のPython Notebookが起動します。
これでJupyter Notebook上でpythonが使えるようになります。
詳しくは後ほどお話ししますが、Python Notebookのセルにコマンドを記載して実行することができます。

Python Notebookのリネーム

Untitledのままでは後でみた時に何だったのかわからなくなるので、Python Notebookの名前を変えておきましょう。
左上の「ファイル」をクリックし、リストの「リネーム」をクリックします(下図6)。

図6. Python Notebookのリネーム

クリックすると新しいファイル名を聞かれますので、適切な名前をつけておきます。
ここでは一旦、「HelloWorld」としておきましょう。

Python Notebookのファイルを確認(ターミナルの練習)

さて、このファイルをターミナルで確認しておきましょう。
Finderで確認してもいいですが、ターミナルの練習です!

新しいターミナルウィンドウの開き方

新しいターミナルをJupyter Notebookを立ち上げたディレクトリで起動します。
まず、Jupyter Notebookを立ち上げたターミナルのウィンドウを選択して最前面に持ってきましょう。
このウィンドウは現在はJupyter Notebookが立ち上がっているため操作できません。
ここで、「Command + T」をクリックすると新しいタブが開かれます(図7)。

図7. ターミナルで「Command+T」をクリックすると新しいタブでターミナルが起動する

このタブのターミナルの現在地(working directoryと呼ぶ)はJupyter Notebookを立ち上げたターミナル(「Command + T」をクリックしたターミナル)と同じです。
試しに、

pwd

を実行してみてください。

/Users/kaiko/python_practice

のように、Jupyter Notebookを立ち上げたターミナルのディレクトリになっているはずです。

このように、すでに開いているターミナルウィンドウから新しいターミナルウィンドウを開くと、元のターミナルのworking directory上で開かれます。

「Command + T」の代わりに、「Command + N」をクリックすると新しいウィンドウでターミナルが起動します。
この場合は、ホームディレクトリがworking directoryになっていると思います。

新しいターミナルを起動した時の動作を変更したい場合 | 環境設定

新しいタブを開いたときと新しいウィンドウを開いた時に、working directoryをどのように設定するかは変更可能です。
ターミナルで、画面上部のメニューバー左「ターミナル」→「環境設定」→「一般」とクリックすると図8のような画面が開きます。

図8. ターミナルの環境設定画面

「新規ウィンドウを開く場合:」、「新規タブを開く場合:」という箇所を変更すると、「Command + N」と「Command + T」を行なった場合の動作が変わります。
興味があれば試してみてください!

作成されたPython Notebookの確認

さて、話がだいぶそれましたが、Python Notebookを確認しましょう。
新しいタブで開いたターミナルでカレントディレクトリに存在するファイルを確認してみましょう。
コマンドは覚えていますか?
そうです

ls

でしたね。
これを実行すると「HelloWorld.ipynb」というファイルが存在することがわかります。
Python Notebookには”.ipynb”という拡張子がつきます。
このファイルはテキストファイルなのでcatコマンドで中身を確認することができます。

cat HelloWorld.ipynb 

を実行してみてみましょう。
といっても、まだ何も中身を書いていないので、書式設定などの部分が表示されるだけですが。

Python Notebookの終了

Python Notebookを終了するには、画面左上「ファイル」→「閉じて終了」をクリックします(図9)。

図9. Python Notebookの終了

クリックすると、Python Notebookが終了しWebブラウザのタブも閉じられます。
WebブラウザはJupyter Notebookのブラウザ画面(Home Page)に戻ります。
この画面を見ると、図10のようにHelloWorld.ipynbというファイルが追加されていることがわかります。

図10. Jupyter Notebookのホーム画面

図10のように、HelloWorld.ipynbのアイコンはグレーになっています。
グレーになっているときは、そのNotebookは起動していないということです。
起動している時はこのアイコンがグリーンになります。

既存のPython Notebookを起動する

既存のPython Notebookを起動するには、Jupyter Notebookのホーム画面(図10)で表示されているNotebookの名前をクリックします。
クリックすると、新しいタブでNotebookが開かれます。
試しにHelloWorld.ipynbをクリックしてみてください。

ブラウザのクローズだけではPython Notebookは終了しない

ちなみに、Webブラウザを閉じただけではPython Notebookはしません。
HelloWorld.ipynbのブラウザ画面を試しに閉じてみましょう。
「Command + W」で閉じるかタブ右のXボタンで閉じましょう。
すると、Jupyter Notebookのホーム画面(図10)に戻っても、HelloWorld.ipynbのアイコンはグリーンのままです。
画面を閉じてもプロセス自体は終了していないので、バックグラウンドで動き続けており、データは保持されています。
Jupyter Notebookのホーム画面(図10)でファイル名横のチェックボックスにチェックをつけて「シャットダウン」をクリックすればプロセスも終了します。
ファイル名をクリックすれば、また新しいタブでWebブラウザ上にNotebookが開かれます。



Result | Jupyter Notebook上でのpythonコーディングと実行方法

では実際にPython Notebookでコーディングを行ってみましょう!
Jupyter Notebookを起動し、Python Notebook(HelloWorld.ipynb)を開いておいてください。

Python Notebookの使い方

まずはPython Notebookの基本的な使い方を説明します。
Python Notebookは図11のように

  • メニューバー
  • メニューアイコン
  • セル

から成り立ちます。

メニューバー・メニューアイコンの使い方はやりながら覚えましょう

ここで全て説明することはしないので、使いながら覚えましょう。
メニューバーとメニューアイコンでは、前述のようなファイル名の変更やセルに記述された処理の実行などを行うことができます。

CodeセルとMarkdownセル

セルにはpythonのコマンドを記述し、処理を書いていきます。
セルはいくつもつくることができ、小さなコマンドのまとまりごとにセルを作っていきます。
pythonの実行単位はセルごとになります。
ターミナル上で実行する場合は一行単位でしたね。
複数行をセルにまとめて書いて、一度に実行することができるのがJupyter Notebookを使う方法の特徴です。

セルには主に

  • Code セル: pythonのコードを記述して実行する
  • Markdown セル: 説明などの文章を書いてレポートとして仕上げる

の2種類があります。

Codeセルとはその名のとおり、pythonのコードを記述して実行するためのセルです。
メニューアイコンの右から2番目のボックスが「Code」になっていれば、現在選択しているセルはCodeセルです(図11)。
セルの左側に「In [ ]」と書いてあるのが特徴です。
このセルを実行すると、「In [1]」というように番号が入ります。
あとでやってみましょうね。

図11. Codeセル

Markdownセルとは、説明などの文章を「Markdown形式」という書式で書きこむためのセルです。
Markdownセルに書かれたものは普通の文章として認識され、pythonのコマンドとしては実行されません。
メニューバーの右から2番目のボックスをクリックし「Markdown」を選択すると、現在のセルをMarkdownセルにすることができます(図12)。
こちらはセルの左側に「In[ ]」の表示はされません。
Markdownセルも後ほど使ってみましょう。

図12. Markdownセル

ちなみにMarkdownとは、文章を記述するための記法です。
見出しをつけたり、箇条書きをしたり、表や数式を綺麗に書くことができます。
日本語テキストも記述可能です。
論文をLaTexで書いたことがある方には馴染みやすい記法です。
LaTexよりも簡単に綺麗な文書を書けるので書き方を覚えると良いでしょう。
私見ですがワードで綺麗な文章を書くことはできません。
LaTexを習得しましょう。気が向いたらこのブログでも扱います!



まずはHello, worldを出力してみよう

さて、まずはHello, worldを出力してみましょう!

コードセルへの入力

コードセルに

"Hello, world"

と入力しましょう。
ダブルクオーテーションでもシングルクオーテーションでも構いません。
メニューアイコンの右から2番目が「Code」になっていることを確認してください。

コードセルの実行 | 「Shift + Enter」or 「Run」

コードセルにコマンドを入力したら、「Shift + Enter」を押します。
押すと現在選択されているコードセルが実行されます。
コードセルの実行はメニューアイコンの「Run」ボタンをクリックすることでも可能です。
好きな方でやってください。

“Hello, world”を実行すると、図13のようになります。
コードセルの左側に「In [1]」と、数字が入りました。
この数字は実行した順番を示しています。
同じコードセルをもう一度実行すれば「In [2]」に変わります。
また、そのコードセルの出力はすぐ下に「Out [?]」という形で現れます。

図13. “Hello, world”の実行結果

Python Notebookとprint文 | 最終行以外の出力にはprint文が必須

Python Notebookでは、最終行で変数を書いた場合に出力部分に出力されますが、最終行以外は出力されません。
「変数」についてはそのうち扱いますが、ここでは”Hello, world”という文字列のことです。
“Hello, world”1行をコードセルに入力して実行したときの挙動は前回記事「アラサーOL|pythonを使ってみよう|(ターミナルから直接操作する方法)」で紹介したターミナル上でpythonを動かすときと同様です。
では、最終行以外に変数を書いた場合にどのようになるのかみてみましょう。

"Hello, world"
 "Good morning, world"

と2行のコマンドをコードセルに書いて実行してみてください。
図14のように、出力されるのは”Good morning, world”だけです。
このように最終行以外に変数を書いても出力されません。

図14. 最終行以外に変数を書いても出力されない

これら2行をどちらも出力する場合にはprint文を書いて明示的に出力させます。

print("Hello, world")
print("Good morning, world")

とコードセルに入力して実行してみましょう。
今度はどちらの文字列も出力されます。
ここまで実行すると、Python Notebookは図15のようになってます(私は同じセルを何回か実行したので、In [?]の番号の部分は違うと思います)。

図15. 一連の”Hello, world”の実行結果



Markdownセルを使ってみよう

Markdownセルも使ってみましょう。
簡単に見出しと文書を書いてみましょう。
ついでにPython Notebookをいろいろいじってみましょう!

セルの挿入

Notebookの一番上にセルを挿入して説明書を書いてみましょう。
セルの挿入はメニューバーの「挿入」の「上にセルを挿入」か「下にセルを挿入」で行います。
まず、現在の一番上のセル(”Hello, world”と入力したコードセル)をクリックして選択します。
選択したらメニューバーの「挿入」→「上にセルを挿入」をクリックします。

挿入したセルをMarkdownセルにしましょう。
メニューアイコンの右から2番目のボックスを「Code」から「Markdown」に変更します(図16)。

図16. 一番上にセルを挿入しMarkdownに変更

見出しの入力方法 | #を使う

見出し(Section)を入力してみましょう。
見出しの作成には、先頭に「# 」(シャープと半角スペース)をつけて文字列を記入します。
試しに

# Hello, worldのテスト

とMarkdownセルに書いてみましょう。
青文字で大きく記入されます。
さらにこのセルを実行してみてください。
出力がセルの下部に行われるのではなく、入力したMarkdownセルそのものが出力になります。
太文字で見出しの書式で文章が出力されます。

サブ見出し(Subsection)も作ることができます。
##を重ねます。#をたくさん重ねるとより下位層の文章構造になります。
先程のMarkdownセルをダブルクリックしましょう。
これで編集モードに入ります。
編集モードに入ったら

# Hello, worldのテスト
## print文を使わない場合

のように編集して実行してみましょう。
「## 」で始めた方は少し小さい見出しになります。

文章の入力方法

せっかくなので文章も書いてみましょう。
先程のセルに編集モードで入って

# Hello, worldのテスト
## print文を使わない場合
print文を使わない場合、変数を記入すると、最終行のみが出力される。
セルに1行しかない場合はターミナル実行のときと同じ。

と記入して実行してみてください。平文の部分は平文として出力されます。

ちなみに、上記のように編集モードで改行して入力しても、出力には反映されません。
平文を改行したい場合は1行開けます。

Hello, worldのテスト
print文を使わない場合
print文を使わない場合、変数を記入すると、最終行のみが出力される。
セルに1行しかない場合はターミナル実行のときと同じ。

Markdownの改行には一行開ける必要がある。

と入力して実行してみてください。
一行開けて入力したところが改行されます。
ここまでを実行すると図17のようになるはずです。

図17. Markdownセル編集の練習までの出力結果

このようにMarkdownセルには説明などを文章として記入することができます。
他にも数式を綺麗に書いたり、箇条書きを作ることができます。
Markdownの詳しい書き方はここでは触れませんので、ご自分で調べてみてください。
Googleで検索すればたくさん記事が出てくるはずです!



関数を使った処理を組んでみよう

せっかくなのでもう少しPython Notebookを練習してみましょう。
前回同様簡単な計算をしてみましょう。

Codeセルに以下のように入力して実行してみましょう。

a = 13
b = 5
print(a + b)
print(b - a)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** 5)

最初の2行では「変数」を定義しています。
詳しくは次回以降に扱いますが、変数とは数値や文字列などの値を格納しておくため箱のことです。
変数に値を格納しておくことで、あとでその値を参照することができます。
ここでは、「a」、「b」という変数を定義しており、それぞれに13と5という値が格納されています。

3行目以降の計算は、四則演算をはじめとする計算を行なっています。
複数行にわたって結果を表示させるためにprint文が必要です。
四則演算の演算子とその意味については前回記事「アラサーOL|pythonを使ってみよう|(ターミナルから直接操作する方法)」を参照してください。
このCodeセルを実行すると図18のようになります。

図18. 簡単な計算の実行例

今回はJupyter Notebookでpythonを使う方法の入門なので、コードを書くのはここまでにしておきましょう!



Discussion | Jupyter Notebookの出力方法

最後に、作成したPython Notebookを出力する方法をご紹介します。
Python Notebookをhtmlやpdfとして出力することで、プログラムで分析した内容を他の人と共有したり、レポートとして仕上げて出力することができます。
Python Notebookとして出力してもいいのですが、相手がJupyter Notebookをインストールしていないと見ることができません。

Python Notebookはいくつかの形式で出力することができます。
私自身はhtmlで出力し、相手にはWebブラウザで見てもらうことが多いです。

html(.html)で出力する方法

htmlで出力することで、Python Notebookの実行結果をWebブラウザで閲覧することができます。
まずは出力したいPython Notebookを開いて保存しておきましょう。
メニューアイコンの左端です。

Python Notebookを保存したら、メニューバーから「ファイル」→「名前を付けてダウンロード」→「HTML(.html)」をクリックします(下図19)。
クリックするとダウンロードが始まります。

図19. htmlで出力

ダウンロードできたら、ダウンロードフォルダからファイルを見つけ、クリックして開いてみましょう。
Webブラウザで開かれます。
ちなみにこのファイルはもはやPython Notebook(.ipynb)ではないのでブラウザ上で編集したりコードを実行することはできません。
結果を表示するだけの役割です。

pdf(.pdf)として出力する方法

Python Notebookの実行結果はpdfに出力して他の人と共有することもあるかもしれません。
pdfとして出力する方法は何通りかあります。
おすすめは印刷プレビューからpdfとして保存するか、一度htmlで出力してからpdf化する方法です。
印刷プレビューは、メニューバーの「ファイル」→「印刷プレビュー」をクリックします。
印刷プレビューが表示されたら印刷(Command + P)で印刷画面に入れるので、そこでpdfとして保存を選びましょう。
htmlで出力済みなら、ブラウザでhtmlを開き、印刷機能でpdf化しても良いでしょう。



pythonスクリプト(.py)として出力する方法

Python Notebookはpythonスクリプトとして出力することができます。
pythonスクリプトとは、pythonを動かす第三の方法に必要なものです。
行いたい処理をテキストファイルに全て書き下しておき、あとはそのスクリプトファイルを実行するコマンドを一つ打つだけで全て完了します。
このテキストファイルのことをpythonスクリプトと呼びます。
拡張子は.pyです。
Python Notebookで作成したコードをpythonスクリプトとして出力することで、以降はJupyter Notebookを立ち上げなくても実行することができるようになります。

Python Notebookをpythonスクリプトとして保存する方法

Python Notebookを保存したら、メニューバーから「ファイル」→「名前を付けてダウンロード」→「Python (.py)」をクリックします。
クリックするとダウンロードが始まります。
Chromeだと「この種類のファイルはコンピューターに危害を加える恐れがあります」と表示されるかもしれませんが、自分で作ったコードなので無視してダウンロードして大丈夫です。

ダウンロードしたpythonスクリプトを実行してみよう

保存したファイルを試しに実行してみましょう。
第三の方法の予習です。

ダウンロードしたファイルをpython_practiceのディレクトリに移動する

まずはダウンロードしたファイルをpython練習用ディレクトリに移動しておきましょう。
Finderを使ってもいいですが、ターミナルでやってみましょう。

Jupyter Notebookを立ち上げたターミナルと同じディレクトリでもう一つターミナルを立ち上げましょう。
やり方がわからなければ、この記事の上の方の「Python Notebookのファイルを確認(ターミナルの練習)」をみてくださいね。
Jupyter Notebookを立ち上げたターミナルと同じディレクトリになっているかどうか

pwd

で確認しましょう。
“/Users/kaiko/python_practice”のようになっていればOKです。

ターミナルを立ち上げられたら

ls ~

としてホームディレクトリ(~)を閲覧してみましょう。
そこに”Downloads”というフォルダが見つかるはずです。
見つかったら今度は

ls ~/Downloads

としてみましょう。
すると、先程ダウンロードしたファイル”HelloWorld.py”や”HelloWorld.html”があるはずです。

mv ~/Downloads/HelloWorld.py .

とすると”HelloWorld.py”をカレントディレクトリ(.)に移動できます。
mvはファイルを移動するコマンドでしたね。

Downloadsディレクトリに原本を残しておきたい場合はmvではなくcpを使いましょう。
“HelloWorld.py”も”HelloWorld.html”も移動したい場合は

mv ~/Downloads/HelloWorld.* .

としてみてください。
*はワイルドカードでしたね。

ファイルの移動ができたら

ls

でカレントディレクトリを確認し、ファイルが存在していることを確かめてください。

ちなみにターミナルの使い方を忘れてしまったら、過去記事「アラサーOL|ターミナル操作入門(pythonを学び始める前に1)」を見てくださいね!

ダウンロードしたpythonスクリプトを実行する

では”HelloWorld.py”を実行してみましょう。

python HelloWorld.py

を実行してみてください。
“Hello, world”や四則演算の結果など、print文の実行結果が出力されます。
Notebookのときのようにセルを一つ一つ実行しなくても全ての処理が一度に行われます。

ここまでを実行すると、ターミナルは図20のようになっています。
他のコマンドを途中で実行したりするとこの通りにはなりませんが、参考にしてみてください。

図20. ダウンロードしたpythonスクリプトの実行結果



Conclusion | まとめ

最後までご覧いただきありがとうございます!
Jupyter Notebookを使ってpythonを動かす方法についてstep-by-stepで解説しました!

Jupyter Notebookはコーディングも実行もレポート作成もできる優れたツールです!
試行錯誤しながらコードを書けるのが何よりの魅力です!
pythonを学習するなら絶対に使いこなすべきツールなので、使い方を習得していきましょう!

以上、「アラサーOL|pythonを使ってみよう|(Jupyter Notebookを使う方法)」でした!
またお会いしましょう!Ciao!

コメント

タイトルとURLをコピーしました