01 / 07
クラス
INPUT · スライド
設計図を書いて実物を作る
02 / 07
class と書く
class のうしろに名前を書き、行の終わりを : で閉じる。次の行からスペース4つ下げて中身を書くよ。if や def と同じ形だね。
中身はこれから足していくけれど、Python では中を空っぽのままにできない。なにもしないと伝える pass(パス)を1行だけ置いておこう。
class Kaiin: passprint("せっけいずができた")実行結果
せっけいずができた
03 / 07
名前は大文字で始める
クラスの名前は大文字始まりにするのが Python の慣習だよ。kaiin は入れ物の変数、Kaiin は設計図、と見た目で区別できるようにするためだね。
名前は「1個ぶんの呼び名」にする。会員の集まりを扱う設計図でも Kaiins ではなく Kaiin だよ。
class Kaiin: passclass Shohin: passprint("せっけいずが2つ")実行結果
せっけいずが2つ
04 / 07
設計図から実物を作る
たい焼きの型をいくらながめても、たい焼きは出てこない。設計図を書いただけでは、中身のあるデータは1つも生まれないんだ。
実物を作るには、クラス名のうしろに () をつけて呼ぶ。こうしてできた実物のことをインスタンスと呼ぶよ。
class Kaiin: passkaiin = Kaiin()kaiin.namae = "あおい"print(kaiin.namae)実行結果
あおい
05 / 07
値の出し入れはドットで
インスタンスが持っている値のことを属性(ぞくせい)と呼ぶよ。読み書きはどちらも インスタンス.名前 の形。
辞書の kaiin["namae"] に当たるものが、クラスでは kaiin.namae。カギカッコもクォートも要らないぶん、読みやすいね。
class Kaiin: passkaiin = Kaiin()kaiin.namae = "あおい"kaiin.nensuu = 3print(kaiin.namae)print(kaiin.nensuu)実行結果
あおい 3
06 / 07
1つの設計図から何個でも
同じクラスから作ったインスタンスどうしは、別々の入れ物だよ。片方の属性を変えても、もう片方はそのまま。
たい焼きの型は1つでも、焼き上がったたい焼きは別々、というのと同じ感覚だね。
class Kaiin: passa = Kaiin()a.namae = "あおい"b = Kaiin()b.namae = "ひなた"print(a.namae)print(b.namae)実行結果
あおい ひなた
07 / 07
まだ手で入れている
いまは Kaiin() で作ったあとに .namae = ... を自分で書いている。項目が5つあれば5行、会員が10人いれば50行だよね。
しかも書き忘れても止めてもらえないので、辞書のときと困りぐあいが変わっていない。作ると同時に中身を用意する仕組みが、次のレッスンで出てくるよ。