魔术方法
# __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() ''' 和面 发酵 烘烤 切型 抹奶油 加水果 打包 '''