以下內容來自於網課學習筆記。
使用的環境:
- Window10+64位操作系統
- PyCharm+Python3.7
1. 算術運算
class New_int(int):
def __add__(self, other):
return int.__add__(self,other)
def __sub__(self, other):
return int.__sub__(self,other)
a=New_int(3)
b=New_int(6)
print(a-b)
print(a+b)
2. 反運算
class N_int(int):
def __radd__(self, other):
return int.__add__(self,other)
def __rsub__(self, other):
return int.__sub__(self,other)
a=N_int(3)
b=N_int(6)
# 正常運算
print(a-b) # ————> -3
print(a+b) # ————> 9
c=N_int(5)
# 執行了反運算 c-3=5-3=2
print(3-c) # ————> 2
調整參數順序:
class N_int(int):
def __rsub__(self, other):
return int.__sub__(other,self)
a=N_int(3)
b=N_int(6)
print(a-b) # ————> -3
print(a+b) # ————> 9
c=N_int(5)
# 反運算 c-3=5-3=2
print(3-c) # ————> -2