01 / 07
読みこみ方は1つじゃない
前のレッスンで覚えた import keisan は、モジュールを丸ごと持ってくる書きかただった。
実は読みこみ方は、あと2通りある。他人が書いた Python を読むと、3つが混ざって出てくるんだ。
全部を書けるようになる必要はない。読めるようになるのが、このレッスンのねらいだよ。
モジュールと標準ライブラリ
INPUT · スライド
01 / 07
前のレッスンで覚えた import keisan は、モジュールを丸ごと持ってくる書きかただった。
実は読みこみ方は、あと2通りある。他人が書いた Python を読むと、3つが混ざって出てくるんだ。
全部を書けるようになる必要はない。読めるようになるのが、このレッスンのねらいだよ。
02 / 07
まずは復習から。keisan.py にこう書いてあるとしよう。
def tashizan(a, b): return a + bdef hikizan(a, b): return a - bimport keisan は、このファイルを丸ごと取りこむ。呼ぶときは頭に keisan. をつけるよ。
import keisanprint(keisan.tashizan(10, 4))これで 14 と表示される。どこから来た関数かが一目で分かるのが、この形のいいところだよ。
03 / 07
from keisan import tashizan と書くと、tashizan という名前だけを取りこめる。呼ぶときに keisan. は要らないよ。
from keisan import tashizanprint(tashizan(10, 4))これも 14 と表示される。やっていることは同じで、呼び名が短くなっただけだね。
04 / 07
from の形は短く書けるけれど、代わりに失うものがある。その名前がどこから来たのか、呼んでいる行を見ても分からないんだ。
もっとこわいのは、自分のファイルに同じ名前の関数があるとき。あとから書いたほうで上書きされる。エラーは出ないのに答えだけが変わるので、見つけにくいバグになるよ。
迷ったら import keisan の形。名前がぶつからないほうを選ぶのが安全だよ。
05 / 07
import keisan as k と書くと、k.tashizan(10, 4) のように短い名前で呼べる。as(アズ)は「〜として」という意味だよ。
import keisan as kprint(k.tashizan(10, 4))長いモジュール名を何度も書くときに使う。実際のコードでは import numpy as np のように、世の中で決まった短い名前が使われることが多いよ。勝手に短くすると読む人が迷うので、よくある呼び名に合わせよう。
06 / 07
書きかたと、呼びかたを並べてみよう。
| 書きかた | 呼びかた |
|---|---|
import keisan | keisan.tashizan() |
from keisan import tashizan | tashizan() |
import keisan as k | k.tashizan() |
どれもやっていることは同じ。同じ keisan.py の tashizan を呼んでいるだけだよ。
見分けるコツは、行の先頭が from かどうか。from で始まっていたら、点をつけずに呼ぶ形だね。
07 / 07
3通りを覚えたら、他人のコードのいちばん上に並んでいる import の行が読めるようになる。そのプログラムが何に頼っているかの一覧だよ。
次のグループでは、Python に最初からついてくる道具を取りこんでみる。math や random のような、自分で書かなくていいものが、びっくりするほどたくさん入っているんだ。