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

INPUT · スライド

ファイルを分けて呼び出す

01 / 07

分けただけでは呼べない

前のレッスンで、役割ごとに関数へ切り分けた。次はそれを別々のファイルに置いてみる。

ただし、ファイルを分けた瞬間に困ることがある。片方のファイルに書いた関数の名前は、もう片方からは見えない。いままで名前だけで呼べていたのは、同じファイルの中にいたからなんだ。

そこで使うのが import(インポート)。「取りこむ」という意味だよ。

def tashizan(a, b):    return a + bprint(tashizan(2, 3))

実行結果

5

02 / 07

.py ファイルが、そのまま1つのモジュール

Python では、.py ファイルがそのまま1つのモジュール(部品のかたまり)になる。特別な宣言も、設定ファイルも要らない。ファイルを置けば、それがもうモジュールだよ。

keisan.py にはこう書く。

def tashizan(a, b):    return a + b

main.py にはこう書く。

import keisanprint(keisan.tashizan(2, 3))

実行すると 5 と表示される。ファイルは分かれたのに、ちゃんとつながったね。

03 / 07

点でつないで呼ぶ

取りこんだあとの呼びかたは モジュール名.関数名()。keisan.py の tashizan なら keisan.tashizan(2, 3) だよ。

点(ドット)は「〜の中の」と読むといい。第5章でインスタンスの持ちものを p.namae と書いたのと同じ形だね。

import のうしろに書くのは、ファイル名から .py を取ったもの。import keisan.py と書くとエラーになるので気をつけて。

04 / 07

import はファイルの先頭に書く

import はプログラムのどこに書いても動く。でもファイルのいちばん上にまとめて書くのが Python の慣習だよ。

上の数行を見ただけで「このファイルは何に頼っているか」が分かるからね。取りこむものが増えたら、import の行を並べていくよ。

import keisanimport aisatsuprint(keisan.tashizan(2, 3))aisatsu.ohayou()

05 / 07

取りこんだ関数は、ふつうの関数

取りこんでしまえば、あとは自分のファイルに書いた関数とまったく同じように使える。引数も渡せるし、返ってきた値をそのまま計算にも使えるよ。

import keisangoukei = keisan.tashizan(120, 80)print(f"ごうけい{goukei}円")

これで ごうけい200円 と表示される。どのファイルに書いてあるかは、呼ぶ側にとってはどうでもいい。ここが、分けてよかったところだよ。

06 / 07

モジュールに置くもの・置かないもの

keisan.py に書けるのは関数だけじゃない。変数もクラスも、いつもどおり書いていい。取りこんだ側からは、どれも keisan.なまえ で使えるよ。

逆に、モジュールのほうに print を書くと、取りこんだ瞬間にそれが実行される。びっくりするので、ふつうはやらない。

モジュールには「使われるもの」を置いて、動かす命令は main.py に置く。これがきれいな分けかただよ。

07 / 07

タブを切り替えて書く

演習では、エディタの上に main.py と、もう1枚のタブが並ぶ。タップで切り替えて、それぞれの中身を書いていこう。

実行ボタンを押したときに動きはじめるのは、いつも main.py のほうだよ。

読みこみ方は、実はこれだけじゃない。あと2通りある——それは次のレッスンで。