标签:
class New_int(int): # 定义一个新的类 继承 int 类 def __add__(self,other): # 重写 + 运算符 # __add__ 就是 int 中 + 的行为 return int.__sub__(self,other) # 重写的 加法运算符 调用 int类 里面的 减法运算运算符 def __sub__(self,other): return int.__add__(self,other) # 上面的是一个小小的恶作剧 . 把加法和减法的名称进行了互换.
1 >>> a=New_int(5) 2 >>> b=New_int(3) 3 >>> a+b 4 2
class New_int(int): # 定义一个新的类 继承 int 类 def __add__(self,other): # 重写 + 运算符 # __add__ 就是 int 中 + 的行为 return super.__sub__(self,other) # 重写的 加法运算符 调用 int类 里面的 减法运算运算符 def __sub__(self,other): return super.__add__(self,other) # 上面的是一个小小的恶作剧 . 把加法和减法的名称进行了互换.
=============== RESTART: C:/Users/Administrator/Desktop/new.py =============== >>> a=New_int(5) >>> b=New_int(3) >>> a+b Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> a+b File "C:/Users/Administrator/Desktop/new.py", line 3, in __add__ return super.__sub__(self,other) # 重写的 加法运算符 调用 int类 里面的 减法运算运算符 AttributeError: type object ‘super‘ has no attribute ‘__sub__‘
1 class int(int): 2 def __add__(self,other): 3 return int.__sub__(self,other) 4 5 ‘‘‘def __sub__(self,other): 6 return int.__add__(self,other)‘‘‘ 7 # 上面的 两个重写只能在同一时间内重写一个 , 不然的话 , 就会报错..... 8 # 当写第二个的 add 的时候 系统不知道 会认为是 你重写的 add 然后程序就崩溃了.
标签:
原文地址:http://www.cnblogs.com/A-FM/p/5677325.html