2012年6月19日火曜日

Python クラスメソッドのselfにはインスタンスが渡されるらしい。

クラスメソッドの第一引数にはselfが出てくる。
例えば、簡単な例をつくると、
class Person:
    def __init__(self, name):
        self.name = name
    def changeName(self, name):
        self.name = name

if __name__ == "__main__":
    taro = Person("taro")
    jiro = Person("jiro")
    print taro.name, jiro.name

    taro.changeName("tatsuro")
    jiro.changeName("eijiro")
    print taro.name, jiro.name
changeNameを呼び出したとき、引数には名前(文字列)しか与えていないが、
どうやら、自動的にselfにはtaroのインスタンス、またはjiroのインスタンスが渡されているようだ。



0 件のコメント:

コメントを投稿