调用未绑定的父类方法和使用supper 函数 之间的选择.

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

 

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

下面是使用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+b
Traceback (most recent call last):File "<pyshell#12>", line 1, in <module>a+bFile "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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware Tools installation cannot be started manually while Easy Install is in progress.

出现此错误提示主要是由于虚拟机设置里面 CD/DVD 和 Floppy 选项被占用导致 VMware Tools 虚拟光驱无法加载导致&#xff0c;因此设置如下&#xff1a; VM –> Settings –> Hardware –> CD/DVD && CD/DVD 2 && Floppy 这三个选项全部设置为 Auto d…

派生类类型可以转换为基类类型,反之则不行

派生类的对象都含有基类对象作为其一部分&#xff0c;我们可以将指向派生类型的引用转换为指向它的基类型的引用&#xff0c;像转换指针一样&#xff0c;我们可以用派生类的对象初始化或赋值基类对象&#xff0c;反之却不行。class base{ public: }; class derived:public base…

Mac 下隐藏显示隐藏文件

直接使用快捷键&#xff1a; 在 macOS Sierra&#xff0c;可以使用快捷键⌘⇧.(Command Shift .) 来快速&#xff08;在 Finder 中&#xff09;显示和隐藏隐藏文件了。 Mac 下隐藏显示隐藏文件

/bin/tar: 从成员名中删除开头的“/”

From: http://www.361way.com/tar-error/1550.html 今天在使用tar进行打包时&#xff0c;发现报了‘从成员名中删除开头的“/”’的错误。我使用的打包语句如下&#xff1a; [rootbj~]# tar czvf test.tar.gz /root/tomcat/tar: 从成员名中删除开头的“/”/root/tomcat//root…

关于单片机中断

中断&#xff1a;CPU停止当前任务&#xff0c;去处理中断内容&#xff0c;处理完后自动恢复以前任务。 单片机有5个中断源&#xff0c;2个中断优先级&#xff0c;中断受两级控制&#xff1a; 1、CPU开总中断&#xff1b; 2、中断源开中断。 中断源&#xff1a;引起中断事件的类…

不带缓存的I/O和标准(带缓存的)I/O

首先&#xff0c;先稍微了解系统调用的概念&#xff1a;   系统调用&#xff0c;英文名system call&#xff0c;每个操作系统都在内核里有一些内建的函数库&#xff0c;这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核&#xff0c;调用相应的的内核函数完成所…

uni.$emit和uni.$on用法;uni-app微信小程序页面通讯;微信小程序页面通讯

uni-app的官方api uni.$on 场景&#xff1a; 微信小程序两个页面甚至多个页面之间&#xff0c;可能共用一个参数或者需要相互传递使用参数。例如页面A点击按钮&#xff0c;需要把A页面的item数据&#xff0c;赋值给页面B的formData&#xff0c;但是页面A只是传递数据给B&#x…

转:探索 AIX 6:在 AIX 6 上配置 iSCSI Target

引言iSCSI&#xff08;Internet Small Computer System Interface&#xff09;被业界认为是非常廉价的 SAN 解决方案&#xff0c;一直在中低端应用领域被市场所看好。 iSCSI 客户端和服务端都既可以通过硬件方式实现&#xff0c;也能通过软件方式的&#xff0c;其优劣区别就是在…

利用python生成一个导出数据库的bat脚本文件

# 环境: python3.xdef getExportDbSql(db, index): # 获取导出一个数据库实例的sql语句sql mysqldump -u%s -p%s -h%s -P%d --default-character-setutf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql %(db[user], db[pwd], db[host], db[port], index, db[server],…

iOS开发极光推送显示 开发证书没有通过验证 是否重新上传证书?解决方法

1.证书密码错误 2证书环境不匹 3导证书时因手误把私钥导出来了&#xff0c;而不是证书 1.当前上传的p12证书密码输入有误&#xff1b; 2. 证书导出的时候展开了证书&#xff0c;把个人私钥导了出来&#xff0c;导证书的时候请不要展开证书&#xff1b; 3.当前上传的证书环境不对…

微信小程序禁止页面上下滑动;uni-app微信小程序禁止页面上下滑动;uni-app小程序上下滑动;

阻止小程序某个页面上下滑动&#xff0c;最简单有效方法&#xff1b;直接对小程序当前页的最外层标签盒子&#xff0c;设置固定定位即可&#xff01; 设置固定定位后&#xff0c;页面的最大盒子宽度可能不是自动撑满的&#xff0c;那就自己在calc计算下宽度即可 .box {// 加这…

安装 groovy eclipse 插件

原文出处&#xff1a;http://blog.chenlb.com/2008/12/install-groovy-eclipse-plugin.html 写代码最好还是要个ide&#xff0c;最过学习 groovy。平时用 eclipse 开发 java 程序&#xff0c;写 groovy 还是用 eclipse 吧&#xff08;虽然目前 groovy 的 eclipse 插件不是最好。…

Linux 统计文件行数,字节数。

语法&#xff1a;wc [选项] 文件… 说明&#xff1a;该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名&#xff0c;则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下&#xff1a; - c 统计字节…

PHP JSON数组与对象的理解

在PHP后端和客户端数据交互的过程中&#xff0c;JSON数据中有时格式不定&#xff0c;一会儿是数组&#xff0c;一会儿是对象&#xff0c;弄得客户端开发人员要崩溃的感觉。 因此&#xff0c;前后端相关人员先对PHP的json_encode函数原理有必要的了解是最重要的一个环节。 PHP中…

[bash] 打包某目录(可以是绝对路径)下的指定扩展名的文件

#!/bin/bash# 该脚本用于打包某目录(可以是绝对路径)下的指定扩展名的文件if [ $# -lt 1 ] || [ "$1" "." ] || [ "$1" "./" ]; thenDIRpwdelseDIR$1if [ ! -e $DIR ]; thenecho "Directory-[$DIR] not exist, exit now!"…

uni-app微信小程序生成自定义参数二维码,跳转小程序指定页面,获取参数;uni-app微信小程序获取二维码自定义参数;微信小程序生成动态参数二维码;uni-app微信小程序获取动态参数二维码;

一、场景需求&#xff1a; 在小程序个人名片页面A页面&#xff0c;生成用户的个人名片二维码&#xff08;该二维码携带用户的唯一标识id&#xff09;&#xff1b;微信扫一扫或长按图片识别这个二维码&#xff0c;可以跳转到小程序的B页面&#xff0c;并且在B页面拿到二维码上的…

【view桌面虚拟化系列】1-vSphere搭建

本系列一共三章&#xff0c;具体如下&#xff1a; 【view桌面虚拟化系列】1-vSphere搭建 【view桌面虚拟化系列】2-View搭建 【view桌面虚拟化系列】3-VDI实现 实验的目的:测试vsphere5.1a、view5.1测试整体运行状况。 首先介绍下环境&#xff08;所使用域名&#xff1a;vmc.co…

Linux 等待进程结束 wait() 和 waitpid()

若子进程先于父进程结束时&#xff0c;父进程调用wait()函数和不调用wait()函数会产生两种不同的结果&#xff1a; --> 如果父进程没有调用wait()和waitpid()函数&#xff0c;子进程就会进入僵死状态。 --> 如果父进程调用了wait()和waitpid()函数&#xff0c;就不会使子…

printf格式化输出类型

%d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 可以在”%”和字母之间加小写字母l, 表示输出的是长型数。 …

uni-app微信小程序保存页面到相册;canvas保存小程序页面;微信小程序保存二维码活动页面到相册;微信小程序canvas 生成海报保存到相册;canvas绘制小程序页面保存及分享;

文末代码可以直接复制运行&#xff08;只需要将中间的二维码图片、底部的微信和相册图片和微信头像配置白名单 改成你项目内的img图片即可成功运行&#xff09; 一、场景&#xff1a;在微信小程序 个人名片页面 含有微信头像和个人信息二维码&#xff08;识别可跳转小程序指定页…