1. Pythonの基礎

1.1. AnacondaとJupyterLab

 

 本講義ではプログラミング言語としてPythonを使用する。Pythonにはバージョン2と3があるが、本講義はPython3のみを対象とする。

 

 最初にプログラミング環境を整える必要がある。webアプリやスマホアプリ、デスクトップアプリを作りたい人、他の言語に慣れている人などは、pythonの公式www.python.org からpythonをダウンロードして自分で環境を整えるのもいいし、有料無料の各種統合開発環境(Visual Studio, VS Code, PyCharm等)をインストールするのもいいだろう。ただし、本講義のように数値計算やデータサイエンスのみをターゲットにする場合は、Anacondcaというディストリビューションで環境を構築するのがお手軽なので、本講義ではAnacondaを使って環境を構築する。

 

 まずhttps://www.anaconda.com/ から各OS用のインストーラーをダウンロードしてインストールする。インストールの際の設定はデフォルトのままでよい。

 インストールし終わったら、Anaconda Navigaterを起動する。JupyterLab, Jupyter Notebook, PyCharmなどの統合開発環境のアプリが起動できるようになっている。本講義では、JupyterLabを用いる。(なお、通常のアプリ開発にはPyCharmやVS Codeをお勧めする。)

 

 

 

 

 JupyterLabをLaunchするとそのパソコンでデフォルトに設定しているブラウザー上で、JupyterLabが立ち上がる。初めて起動したときは、下のようなLauncherの画面が表示される。

 

 

 

 

 

 NotebookのPython3をクリックすると、新しいJupyter Notebookが作成され、自動的にUntitled.ipynbというファイル名で保存される。

 

 

 

 

 

 Jupyter Notebookは、セルという単位から構成されている。アクティブな場合は水色、非アクティブな場合は灰色の枠で囲まれた部分がセルである。

In [ ]:
これが一つのセル
 

 セルには、Markdown、Code、Rawの3タイプがあり、ウインドウの上の真ん中あたりから選択できる。pythonコードを書くときはCodeを、文章や解説、数式などを書きたいときはMardwonを使う。生のテキストを書きたいときはRawを使うが実際にはほとんど使わない。

 Markdownはマークアップ言語の一種で、TeXに非常に似ている。\times等の式のコマンドもTeXのものがそのまま使える場合が多い。たとえばMarkdownの状態で、 $A = \int_a^b x^2 dx$

 

と書いて、Shift+EnterかContrl+Enterを実行すると、

 

$A = \int_a^b x^2 dx$

 

 こんな感じで数式が表示される。MarkdownはHTMLに似ていて、HTMLと同じタグでリンクや画像をセルに張り付けることもできる。Markdownの詳細については検索して調べてほしい。

 CodeはPythonのコードを書くとき使う。たとえばCodeの状態で、1+1と書いて、Shift+Enterで実行すると、2と出力され、セルが一つ追加される。Ctrl+Enterでも実行でき、この場合はセルが追加されない。

In [1]:
1+1
Out[1]:
2
 

 四則演算は+, -, *, /が使える。$n$乗のような累乗は**nで表せる。四則演算の順番は数学と同じなので特に問題ないだろう。

In [2]:
1+2
Out[2]:
3
In [3]:
2/3
Out[3]:
0.6666666666666666
In [4]:
2**10
Out[4]:
1024
In [5]:
2**10*3
Out[5]:
3072
 

これは、$2^{10}\times 3$のことである。間違えを減らしたり、見やすくしたい場合は、(2**10)*3と書いた方がいい。

 

 JupyterLabのよるプログラミングの一連の流れとしては、セルにコードをいろいろ書き込んで、Shift+Enterで実行して結果を得る。結果はメモリーに保存されるので、そのまま使ってセルを追加していくこともできる。セルの長さに制限はないので、長く書いてもいいし、短く分けてもいい。一般にセルをコンパクトに書くとエラーがどこで発生しているのか分かりやすい。また、codeのセルとセルの間にMarkdownのセルを使って説明を加えたり、式や図を加えたりすることで研究ノートのように使うこともできる。まさにNotebookという感じ。このcodeとmarkdownのセルを組み合わせていくやり方は、後から自分で読み返したり、他人が読んだりしたときに非常に分かりやすい。

 

 

 今後セルをいろいろ実行していくと、無限ループに陥ったり、何らかの理由でセルが実行できなくなったり、極端に処理が遅くなったりする場合がある。そういうときはKernelをrestartするとよい。Kernelの意味を知らない場合は、まあJupyterLabを部分的に再起動したと思えばいい。Kernelを再起動するには、メニューの”Kernel”-“Restart Kernel”を実行する。(あるいは左端の縦に並んだアイコンのうち、フォルダーのアイコンの下のストップアイコンをクリックするとKernelのSession一覧がでるので、Shutdownしてもよい。) すでにimportしていたモジュールはメモリから解放され、セル番号は[1]からふり直される。

 

 

Colaboratoryについて 

 Googleが提供しているColaboratoryというwebアプリを使うと、Anacondaを自分のパソコンにインストールしなくても、クラウド上でJupyter Notebookの開発環境を使うことができる。web browserが使える環境なら、タブレットでもスマホでも利用できる。自分で書いたコードもクラウド上に保存することになり、クラウド上のGPU(Graphical Prossesing Unit)を利用できるので、安いノートパソコンなどより高速に計算ができるというメリットもある。ただし、使いたいモジュールが一部インストールされていなかったり、常時接続環境でないといけないなどの制約があるため、本講義ではAnacondaでJupyterLabを使うことにする。

 

 

おすすめ設定

 以下はある程度JupyterLabに慣れてきたらお勧めする設定。最初は飛ばしてかまわない。

 

(1) テーマの変更(ダークモード等)
 メニューバーのSttings -> JupyterLab Themeから選べる。

 

(2) 特定のフォルダーでJupyterlabを起動させたいとき
 Jupyter Notebookのconfigを書き直す必要がある。Windowsの場合は、スタートメニュー、Anaconda promptから、
jupyter notebook --generate-config
と打ち込むと、
C:\Users\ユーザー名\.jupyter\jupyter_notebook_config.py
というファイルが作成される。このファイルのThe directory to use for notebooks and kernels.のところを、
c.NotebookApp.notebook_dir = 'C:/デフォルトで起動したいフォルダー名'
に書き換える。このときバックスラッシュ\をすべてスラッシュ/に書き換える必要があることに注意。

 

(2) Extenstionのインストール
 JupyterLabにはいろいろなextensionを入れて便利に使うことができるが、Anacondaでインストールしたデフォルトの状態では、extensionは使えないようになっている。まず、JupyterLab Extensionを有効にする。JupyterLabのSettings -> Advanced Settings Editor を選ぶ。Extension Managerを選択。System Defaultsのコードが、
”enabled”: false
になっているはず。User Preferencesのウインドウの{}の中に
"enabled": true
と書いて、そのウインドウの右上のフロッピーのマークSave User Settingsで保存。

 

(3) フォントサイズの変更
 Settings-> Advanced Settings Editor -> Notebook のUser Preferencesに下記を書き込んで保存。

 

{ “codeCellConfig”: { “lineNumbers”: true, “fontSize”: 16},

"markdownCellConfig": {
    "fontSize": 16}

}

 


当サイトのテキスト・画像の無断転載・複製を固く禁じます。
Unauthorized copying and replication of the contents of this site, text and images are strictly prohibited.
© 2019 Go Yusa