class Template():

    def __init__(self):
        pass

    def wake_up(self):
        print("##### Wake Up by Alarm #####")

    def go2_work(self):
        pass

    def work_hard(self):
        pass

    def comeback2_home(self):
        pass

    def go2_sleep(self):
        print("***** Sweet Dream *****")

    def show_daily_life(self):
        self.wake_up()
        self.go2_work()
        self.work_hard()
        self.comeback2_home()
        self.go2_sleep()


class Developer(Template):

    def go2_work(self):
        print("@@ Please, no error today~~")

    def work_hard(self):
        print("@@@@@ What happened? It worked yesterday~~")

    def comeback2_home(self):
        print("@SuppressWarnings...")


def run():
    # 어차피 동적 타입이라
    # 추상 템플릿 클래스 타입으로 사용되지 않으므로
    # 템플릿 메서드 패턴의 의미가 있나 모르겠..
    developer = Developer()
    developer.show_daily_life()


run()
@@ -7,18 +7,16 @@
 Template
-()
 :%0A%0A    d
@@ -40,32 +40,50 @@
 :%0A        pass%0A%0A
+    @staticmethod%0A
     def wake_up(
@@ -82,20 +82,16 @@
 wake_up(
-self
 ):%0A     
@@ -245,32 +245,50 @@
 :%0A        pass%0A%0A
+    @staticmethod%0A
     def go2_slee
@@ -289,20 +289,16 @@
 2_sleep(
-self
 ):%0A     
@@ -748,16 +748,267 @@
 ...%22)%0A%0A%0A
+class Student(Template):%0A%0A    def go2_work(self):%0A        print(%22%5E%5E Please, no exam today~~%22)%0A%0A    def work_hard(self):%0A        print(%22%5E%5E%5E%5E%5E Damn, I forgot again~~%22)%0A%0A    def comeback2_home(self):%0A        print(%22%5E Don't worry, I am still young...%22)%0A%0A%0A
 def run(
@@ -1156,10 +1156,66 @@
 ()%0A%0A
+    student = Student()%0A    student.show_daily_life()%0A%0A
 %0Arun()
+%0A

add another subtype in template method pattern in python