博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用未绑定的父类方法和使用supper 函数 之间的选择.
阅读量:6086 次
发布时间:2019-06-20

本文共 1451 字,大约阅读时间需要 4 分钟。

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+b4 2

 

上面的是调用未绑定的父类方法.

下面是使用super函数

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+bTraceback (most recent call last):  File "
", line 1, in
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__'

可见当使用super的时候 报错提示 super中没有__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 然后程序就崩溃了.

 

转载于:https://www.cnblogs.com/A-FM/p/5677325.html

你可能感兴趣的文章
AD-Powershell for Active Directory Administrators
查看>>
话里话外:成功CEO的用人之道——按需激励
查看>>
来自科学网博主的问候
查看>>
suse linux 10 ftp服务配置
查看>>
20141216 广州MVP线下聚会
查看>>
《高性能Linux服务器构建实战Ⅱ》已出版发售,附封面照!
查看>>
.NET Micro Framework开发板用户简明手册(v2.0)
查看>>
[Ruby] 类型和方法
查看>>
LACP链路聚合-基础篇
查看>>
微软宣布 SQL Server 2019 预览版
查看>>
使用Cobbler批量部署Linux操作系统
查看>>
为IE或者Firefox安装Adobe Flash Player 11
查看>>
python 关于epoll的学习
查看>>
某度质量部测试开发面试题4(未完待续)
查看>>
CentOS 7 安装 cacti 1.1.x
查看>>
HTML5外包团队-技术分享【使用HTML5的VIDEO标记播放RTSP视频流】
查看>>
Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别
查看>>
【斗医】【5】Web应用开发20天
查看>>
Yum软件仓库配置
查看>>
ASP.NET MVC4 捆绑(Bundle)技术下的 JavaScript
查看>>