class Parent():
msg = "[Parent]"
def __init__(self, name):
self.name = name
@classmethod
def class_method(cls):
print("class_method() " + cls.msg)
@staticmethod
def static_method():
print("static_method() " + Parent.msg)
def method(self):
print("method() " + self.name)
class Child(Parent):
msg = "[Child]"
obj1 = Parent("TARO")
Parent.class_method() # 出力:class_method() [Parent]
Parent.static_method() # 出力:static_method() [Parent]
#Parent.method() # TypeError 例外
obj1.class_method() # 出力:class_method() [Parent]
obj1.static_method() # 出力:static_method() [Parent]
obj1.method() # 出力:method() TARO
obj2 = Child("ICHIRO")
Child.class_method() # 出力:class_method() [Child]
Child.static_method() # 出力:static_method() [Parent]
#Child.method() # TypeError 例外
obj2.class_method() # 出力:class_method() [Child]
obj2.static_method() # 出力:static_method() [Parent]
obj2.method() # 出力:method() ICHIRO