メソッドまとめ
ここまでに登場したメソッドについて総括しよう。
インスタンスに属する。
自身が属するインスタンスに関する情報を持ち(self変数)、これを用いてインスタンスに属する要素にアクセスできる。
クラスに属する。
自身が属するクラスに関する情報を持ち(cls変数)、これを用いてクラスに属する要素にアクセスできる。
クラスに属する。
自身が属するクラスに関する情報を持たない。
インスタンスメソッドと同じ特徴を持つ。
戻り値をインスタンス変数のように参照することができる。
code:method_all1.py
class Myclass:
def method_instance(self):
print('1) これはインスタンスメソッドです')
print(id(self), '変数selfに格納されたインスタンスのid\n')
@classmethod
def method_class(cls):
print('2) これはクラスメソッドです')
print(id(cls), '変数clsに格納されたクラスのid\n')
@staticmethod
def method_static():
print('3) これはスタティックメソッドです')
print('自身の属するクラスについての情報を持たない\n')
@property
def method_property(self):
return '4) これはプロパティが返した値です'
print(id(Myclass), 'Myclassクラスのid')
m1 = Myclass()
print(id(m1), 'm1インスタンスのid\n')
m1.method_instance() # (1):変数名から
Myclass.method_class() # (2):クラス名から
Myclass.method_static() # (3):クラス名から
print(m1.method_property) # (4):変数名から
クラス、インスタンスは全てオブジェクトであり、固有のオブジェクトIDが割り当てられている。 /icons/hr.icon
※ ブラウザのバックボタンで戻る