魔法方法2:__call__

1、魔法方法之归结对象的__call__【作用就是能够把实例化对象像函数一样调用dg()】

我要怎么才能够解释清楚__call__的用法

借用之前老师上课的例子吧:最后调用了之后,会有以下步骤:

class Makecake:
    def huomian(self):
        print('该操作和面')
    def fajiao(self):
        print('该操作发酵')
    def hongkao(self):
        print('该操作烘烤')
    def monayou(self):
        print('该操作抹奶油')
dg = Makecake()
dg.fajiao()
dg.hongkao()
dg.monayou()
dg.huomian()

那么__call__魔法方法的意义在哪里呢?

我们再定义一个打包函数,把所有的东西全部放在一个函数里面

然后把这个函数重新写成__call__就是这个函数的意义所在了。

class Makecake:
    def huomian(self):
        print('该操作和面')
    def fajiao(self):
        print('该操作发酵')
    def hongkao(self):
        print('该操作烘烤')
    def monayou(self):
        print('该操作抹奶油')
    def __call__(self,kouwei):#就是中文的理解,打包一个流程操作,把刚才的所有流程全部打包
        self.fajiao()
        self.hongkao()
        self.monayou()
        self.huomian()
        print('让我们做一个{}口味的蛋糕吧!'.format(kouwei))

dg = Makecake()
dg('巧克力')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值