python面向对象






class Cacykator:

    def __zsq_sound(text):
        def zsq(fun):
            def inner(self,n):
                self.__say(text+str(n))
                return fun(self,n)
            return inner
        return zsq

    def __zsq(fun):
        def inner(self,num):
            if not  isinstance(num,(int,float)):
                raise TypeError("数据类型错误")
            return fun(self,num)
        return inner

    def __say(self,text):
        import pyttsx3
        engine = pyttsx3.init()
        engine.say(text)
        engine.runAndWait()


    @__zsq
    @__zsq_sound("")
    def __init__(self,num:(int,float)=0):
        self.__result = num

    @__zsq
    @__zsq_sound("加上")
    def add(self,num):
        self.__result += num
        return self


    @__zsq
    @__zsq_sound("减去")
    def mul(self,num):
        self.__result -= num
        return self

    @__zsq
    @__zsq_sound("乘以")
    def chen(self,num):
        self.__result *= num
        return self

    @__zsq
    @__zsq_sound("除以")
    def mod(self,num):
        self.__result /= num
        return self


    def show(self):
        self.__say("={}".format(self.__result))

    @property
    def result(self):
        return self.__result



Cacykator(100).add(10).mul(10).mod(10).chen(1000).show()


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值