#72

クラスとインスタンス(オブジェクトの基本)

設計図(クラス)から実体(インスタンス)を作る、オブジェクト指向の入り口を学ぶ。

解説

これまでは関数で処理をまとめてきました。クラスは、関連するデータ(状態)と処理(振る舞い)を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本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。