魔术方法

发布时间 2023-09-22 13:37:23作者: 无知者无畏123
# __call__方法的作用

# 以制作蛋糕为例子
# 定义一个类  做蛋糕
class MakeCake:
    # 和面
    def huomian(self):
        print('和面')
    # 发酵
    def fajiao(self):
        print('发酵')
    # 烘烤
    def hongkao(self):
        print('烘烤')
    # 切型
    def qiexing(self):
        print('切型')
    # 抹奶油
    def monaiyou(self):
        print('抹奶油')
    # 加水果
    def jiashuiguo(self):
        print('加水果')
    # 打包
    def dabao(self):
        print('打包')

    # 封装成一个函数  不够高级
    # def getCake(self):
    #     self.huomian()
    #     self.fajiao()
    #     self.hongkao()
    #     self.qiexing()
    #     self.monaiyou()
    #     self.jiashuiguo()
    #     self.dabao()

    # 更进一步,封装成__call__方法  高级 显示了魔术方法的威力
    def __call__(self):
        self.huomian()
        self.fajiao()
        self.hongkao()
        self.qiexing()
        self.monaiyou()
        self.jiashuiguo()
        self.dabao()
# 实例化一个做蛋糕mc1
mc1 = MakeCake()

# 如果每次都这样调用制作蛋糕的方法,比较繁琐,考虑将这些步骤封装到一个方法中
# mc1.huomian()
# mc1.fajiao()
# mc1.hongkao()
# mc1.qiexing()
# mc1.monaiyou()
# mc1.jiashuiguo()
# mc1.dabao()

# mc1.getCake()

# 调用实例显示魔术方法的威力
mc1()
'''
和面
发酵
烘烤
切型
抹奶油
加水果
打包
'''