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 を使う。