Python 入門 | クラスの利用 | クラスの作成
実際にクラスを作成して使ってみよう。次の例では、名前を使ってメッセージを表示する処理を Member クラスにまとめる。
class Member:
name = ""
def showMsg(self):
print("Hello, " + self.name + ". How are you?")
メンバー変数 name は名前を保存する。showMsg メソッドはメッセージを表示する。
ソースコードには、これまで登場しなかった self がある。showMsg の引数として使われているが、通常の引数ではない。
メソッド内では self.name という式でメンバー変数を参照している。
self は現在のインスタンス自身を表す特別な値である。クラスそのものを表すわけではない。
インスタンスと self
クラスは設計図のようなものである。通常、設計図そのものを直接操作するのではない。クラスからインスタンスを作成し、そのインスタンスを操作する。
クラスを直接使うと、1 つの name 変数に "Taro" と "Hanako" のデータを個別に保存できない。代わりに、別々の Member インスタンスを作成し、それぞれに名前を設定する。
self は現在のインスタンスを指す。メソッドから、そのインスタンスに保存されたメンバー変数を使う場合は、self.name のように指定する。
Python のメソッドは、最初の引数としてインスタンス自身を受け取る。メンバー変数やメソッドには、self の後にドットを付けてアクセスする。
self.変数
たとえば、name メンバー変数にアクセスするには self.name を使う。