class Caculate:
__result = 0
@classmethod
def first_value(cls, v):
cls.__result = v
@classmethod
def jia(cls, n):
cls.__result += n
@classmethod
def jian(cls, n):
cls.__result -= n
@classmethod
def cheng(cls, n):
cls.__result *= n
@classmethod
def chu(cls, n):
cls.__result /= n
@classmethod
def show(cls):
print("计算的结果是:%d" % cls.__result)
Caculate.first_value(3)
Caculate.jia(34)
Caculate.jian(34)
Caculate.show()
class Caculate:
def __init__(self, num):
self.__result = num
def jia(self, n):
self.__result += n
def jian(self, n):
self.__result -= n
def cheng(self, n):
self.__result *= n
def chu(self, n):
self.__result /= n
def show(self):
print("计算的结果是:%d" % self.__result)
c1 = Caculate(2)
c1.jia(6)
c1.jia(34)
c1.jian(34)
c1.show()
class Caculate:
def checkNum(self, num):
if not isinstance(num, int):
raise TypeError("当前的数据类型有问题应该是一个整型数据")
def __init__(self, num):
self.checkNum(num)
self.__result = num
def jia(self, n):
self.checkNum(n)
self.__result += n
def jian(self, n):
self.checkNum(n)
self.__result -= n
def cheng(self, n):
self.checkNum(n)
self.__result *= n
def chu(self, n):
self.checkNum(n)
self.__result /= n
def show(self):
print("计算的结果是:%d" % self.__result)
c1 = Caculate(2)
c1.jia(6)
c1.jia(34)
c1.jian(34)
c1.show()
class Caculate:
def __checkNum_zsq(func):
def inner(self, n):
if not isinstance(n, int):
raise TypeError("当前的数据类型有问题应该是一个整型数据")
return func(self, n)
return inner
@__checkNum_zsq
def __init__(self, num):
self.__result = num
@__checkNum_zsq
def jia(self, n):
self.__result += n
@__checkNum_zsq
def jian(self, n):
self.__result -= n
@__checkNum_zsq
def cheng(self, n):
self.__result *= n
@__checkNum_zsq
def chu(self, n):
self.checkNum(n)
self.__result /= n
def show(self):
print("计算的结果是:%d" % self.__result)
c1 = Caculate(2)
c1.jia(6)
c1.jia(4)
c1.jian(34)
c1.show()
import win32com.client
class Caculate:
def __say(self, word):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak(word)
def __checkNum_zsq(func):
def inner(self, n):
if not isinstance(n, int):
raise TypeError("当前的数据类型有问题应该是一个整型数据")
return func(self, n)
return inner
@__checkNum_zsq
def __init__(self, num):
self.__say(num)
self.__result = num
@__checkNum_zsq
def jia(self, n):
self.__say(n)
self.__result += n
@__checkNum_zsq
def jian(self, n):
self.__say(n)
self.__result -= n
@__checkNum_zsq
def cheng(self, n):
self.__say(n)
self.__result *= n
@__checkNum_zsq
def chu(self, n):
self.__say(n)
self.__result /= n
def show(self):
self.__say("计算的结果是:%d" % self.__result)
c1 = Caculate(2)
c1.jia(6)
c1.jia(4)
c1.jian(34)
c1.show()
import win32com.client
class Caculate:
def __say_zsq_jia(func):
def inner(self, n):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("加%d" % n)
return func(self, n)
return inner
def __say_zsq_init(func):
def inner(self, n):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("加%d" % n)
return func(self, n)
return inner
def __say_zsq_jian(func):
def inner(self, n):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("减去%d" % n)
return func(self, n)
return inner
def __say_zsq_cheng(func):
def inner(self, n):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("乘上%d" % n)
return func(self, n)
return inner
def __say_zsq_chu(func):
def inner(self, n):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("除去%d" % n)
return func(self, n)
return inner
def __checkNum_zsq(func):
def inner(self, n):
if not isinstance(n, int):
raise TypeError("当前的数据类型有问题应该是一个整型数据")
return func(self, n)
return inner
@__checkNum_zsq
@__say_zsq_init
def __init__(self, num):
self.__result = num
@__checkNum_zsq
@__say_zsq_jia
def jia(self, n):
self.__result += n
@__checkNum_zsq
@__say_zsq_jian
def jian(self, n):
self.__result -= n
@__checkNum_zsq
@__say_zsq_cheng
def cheng(self, n):
self.__result *= n
@__checkNum_zsq
@__say_zsq_chu
def chu(self, n):
self.__result /= n
import win32com.client
class Caculate:
def __say(self, word):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak(word)
def __creat_say_zsq(word):
def __say_zsq(func):
def inner(self, n):
self.__say(word + str(n))
return func(self, n)
return inner
return __say_zsq
def __checkNum_zsq(func):
def inner(self, n):
if not isinstance(n, int):
raise TypeError("当前的数据类型有问题应该是一个整型数据")
return func(self, n)
return inner
@__checkNum_zsq
@__creat_say_zsq("")
def __init__(self, num):
self.__result = num
@__checkNum_zsq
@__creat_say_zsq("加上")
def jia(self, n):
self.__result += n
return self
@__checkNum_zsq
@__creat_say_zsq("减去")
def jian(self, n):
self.__result -= n
return self
@__checkNum_zsq
@__creat_say_zsq("乘以")
def cheng(self, n):
self.__result *= n
return self
@__checkNum_zsq
@__creat_say_zsq("除以")
def chu(self, n):
self.__result /= n
return self
def show(self):
self.__say("计算的结果是:%d" % self.__result)
return self
def clear(self):
self.__result = 0
return self
@property
def result(self):
return self.__result
c1 = Caculate(2)
c1.jia(6).jia(4).jian(34).show()
print(c1.result)