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

INPUT · スライド

読みこみ方は3通り

01 / 07

読みこみ方は1つじゃない

前のレッスンで覚えた import keisan は、モジュールを丸ごと持ってくる書きかただった。

実は読みこみ方は、あと2通りある。他人が書いた Python を読むと、3つが混ざって出てくるんだ。

全部を書けるようになる必要はない。読めるようになるのが、このレッスンのねらいだよ。

02 / 07

1つめ: 丸ごと取りこむ

まずは復習から。keisan.py にこう書いてあるとしよう。

def tashizan(a, b):    return a + bdef hikizan(a, b):    return a - b

import keisan は、このファイルを丸ごと取りこむ。呼ぶときは頭に keisan. をつけるよ。

import keisanprint(keisan.tashizan(10, 4))

これで 14 と表示される。どこから来た関数かが一目で分かるのが、この形のいいところだよ。

03 / 07

2つめ: 必要なものだけ取りこむ

from keisan import tashizan と書くと、tashizan という名前だけを取りこめる。呼ぶときに keisan. は要らないよ。

from keisan import tashizanprint(tashizan(10, 4))

これも 14 と表示される。やっていることは同じで、呼び名が短くなっただけだね。

04 / 07

短いかわりに、出どころが消える

from の形は短く書けるけれど、代わりに失うものがある。その名前がどこから来たのか、呼んでいる行を見ても分からないんだ。

もっとこわいのは、自分のファイルに同じ名前の関数があるとき。あとから書いたほうで上書きされる。エラーは出ないのに答えだけが変わるので、見つけにくいバグになるよ。

迷ったら import keisan の形。名前がぶつからないほうを選ぶのが安全だよ。

05 / 07

3つめ: 短い名前をつける

import keisan as k と書くと、k.tashizan(10, 4) のように短い名前で呼べる。as(アズ)は「〜として」という意味だよ。

import keisan as kprint(k.tashizan(10, 4))

長いモジュール名を何度も書くときに使う。実際のコードでは import numpy as np のように、世の中で決まった短い名前が使われることが多いよ。勝手に短くすると読む人が迷うので、よくある呼び名に合わせよう。

06 / 07

3つを並べて見る

書きかたと、呼びかたを並べてみよう。

書きかた呼びかた
import keisankeisan.tashizan()
from keisan import tashizantashizan()
import keisan as kk.tashizan()

どれもやっていることは同じ。同じ keisan.py の tashizan を呼んでいるだけだよ。

見分けるコツは、行の先頭が from かどうか。from で始まっていたら、点をつけずに呼ぶ形だね。

07 / 07

ここまでで、他人の import が読める

3通りを覚えたら、他人のコードのいちばん上に並んでいる import の行が読めるようになる。そのプログラムが何に頼っているかの一覧だよ。

次のグループでは、Python に最初からついてくる道具を取りこんでみる。math や random のような、自分で書かなくていいものが、びっくりするほどたくさん入っているんだ。