解説
これまでは関数で処理をまとめてきました。クラスは、関連するデータ(状態)と処理(振る舞い)を1つにまとめる仕組みです。
クラスは「設計図」で、そこから作る実体を「インスタンス(オブジェクト)」と呼びます。class Dog: と書いて設計図を定義し、Dog() と書くと実体が1つ作られます。同じ設計図からいくつでも作れます。
クラスの中に書く関数を「メソッド」と呼びます。メソッドの第1引数 self は「自分自身(そのインスタンス)」を指す約束で、呼び出すときは pochi.bark() のように書きます(self は自動で渡されます)。
Pythonでは整数や文字列も含めてすべてがオブジェクトです。type() でそのオブジェクトがどのクラスから作られたかを確認できます。
書き方
class クラス名: — クラス(設計図)を定義する。先頭は大文字が慣習。 ・インスタンス化: 変数 = クラス名() で実体を作る。 ・メソッド: def メソッド名(self): クラス内に定義する関数。self は自分自身。 ・呼び出し: インスタンス.メソッド名()(self は自動で渡る)。 ・type(オブジェクト): どのクラスのインスタンスかを返す。
書いて動かす
この回の課題
Dog クラスに bark() メソッドを定義し、2匹のインスタンスを作ってそれぞれ鳴かせ、type() で型を確認してみよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
自分のPCでも続けてみませんか
Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。