CHAPTER 6 · 7 lessons · 91問

モジュールと標準ライブラリ

コードを複数のファイルに分け、Python に最初からついてくる道具を使う。1人で全部書かなくてよくなる章。

0 / 91 問クリア

ここまで、プログラムはずっと1つのファイルに書いてきた。学習の段階ではそれでいいけれど、実際のプログラムは1ファイルには収まらない。数千行のファイルは、書いた本人でも目的の場所を見つけられなくなるからだよ。

モジュールは、コードを複数のファイルに分ける仕組みだ。Python では、.py ファイルがそのまま1つのモジュールになる。keisan.py を作って関数を書いておけば、別のファイルから import keisan と書くだけで使える。特別な宣言も設定ファイルも要らない。ファイルを置けば、それがもうモジュールだよ。

読みこみ方は3通りある。import keisan は丸ごと持ってきて keisan.tashizan() と呼ぶ形。from keisan import tashizan は必要なものだけ持ってきて tashizan() と直接呼ぶ形。import numpy as np のように as で短い名前をつける形。他人のコードを読むとこの3つが混ざって出てくるので、全部見ておこう。

章の後半が、この章のごちそうだ。Python には 標準ライブラリ といって、最初から大量の道具がついてくる。インストールも設定も要らず、import と書くだけで使える。「Python には電池がついてくる(batteries included)」という言い方があるくらいで、これは Python が広く使われている理由のひとつだよ。

この章では4つを扱う。math は平方根や円周率といった数学の道具。random はサイコロやくじ引きのような、実行するたび結果が変わる処理。datetime は日付と時刻の計算——「30日後は何月何日か」を自分で計算しなくていい。json は、アプリどうしがデータをやりとりするときの共通の書き方で、これはウェブの世界の共通語だ。

大事なのは、この4つを覚えることではない。「やりたいことは、たいてい誰かがもう作っている」と知ることだよ。自分で書く前に探す。この習慣が身につくと、書けるものの幅が一気に広がる。

なお、Python には pip という「世界中の人が作った道具を取ってくる」仕組みもあるのだけれど、これはあなたの PC で使うもので、この教材のブラウザの中では動かせない。スライドで手順だけ紹介するので、PC を使うようになったときに思い出してね。

この章のレッスン

ファイルを分ける

  1. 681つのファイルがふくらんでいく数千行のファイルは、書いた本人でも目的の場所を見つけられない。まずは役割で切り分けよう。問題へ
  2. 69ファイルを分けて呼び出すkeisan.py を作って import keisan と書けば、keisan.tashizan() で使えるようになるよ。問題へ
  3. 70読みこみ方は3通り丸ごと・必要なものだけ・短い名前で。他人のコードでは3つが混ざって出てくるよ。問題へ

ついてくる道具箱

  1. 71数の計算をまかせる平方根も円周率も、自分で用意しなくていい。math を import するだけだよ。問題へ
  2. 72サイコロをふるくじ引きもシャッフルも random にある。ただし結果を揃えるには種の固定が要るよ。問題へ
  3. 73日付を計算する「30日後は何月何日か」を自分で数えなくていい。うるう年も月末も任せよう。問題へ
  4. 74データを受け渡す形辞書やリストを文字列にして、また戻す。JSONはウェブの世界の共通語だよ。問題へ

つぎは「ファイルを読み書きする」。プログラムの外にデータを残す。実行が終わっても消えない値を扱えるようになる章。