標籤:first ret 對象 UNC color def erro .sh inner
# 物件導向的綜合應用# 計算機:實現一些基本的計算操作,已經列印結果# --------------- 代碼1 ----------------------def add(x, y): return x + ydef subtract(x, y): return x - ydef mulit(x, y): return x * yprint(add(2, 4)) # 6# 實現 (2 + 4 - 3) * 5res1 = add(2, 4)res2 = subtract(res1, 3)res3 = res2 * 5print(res3) # 15# --------------- 代碼2 -----------------------class Caculator: __result = 0 @classmethod #設定一個首數 def first_value(cls, value): cls.__result = value @classmethod def add(cls, n): cls.__result += n @classmethod def subtract(cls, n): cls.__result -= n @classmethod def mulit(cls, n): cls.__result *= n @classmethod def show(cls): return cls.__resultCaculator.first_value(2)Caculator.add(4)Caculator.subtract(3)Caculator.mulit(5)print(Caculator.show()) # 15# --------------- 代碼3 -----------------------class Caculator: def __init__(self, firstNum): self.__result = firstNum def add(self, n): self.__result += n def subtract(self, n): self.__result -= n def mulit(self, n): self.__result *= n def show(self): return self.__resultc = Caculator(2)c.add(4)c.subtract(3)c.mulit(5)print(c.show()) # 15# --------------- 代碼4 容錯處理 -----------------------class Caculator: def __check_num_zsq(func): def inner(self, n): if not isinstance(n, int): raise TypeError("資料類型錯誤") return func(self, n) return inner @__check_num_zsq def __init__(self, firstNum): self.__result = firstNum @__check_num_zsq def add(self, n): self.__result += n @__check_num_zsq def subtract(self, n): self.__result -= n @__check_num_zsq def mulit(self, n): self.__result *= n def show(self): return self.__resultc = Caculator(2)c.add(4)c.subtract(3)c.mulit(5)print(c.show()) # 15
Python 物件導向的綜合應用