鱼C论坛

 找回密码
 立即注册
查看: 1711|回复: 2

求指教

[复制链接]
发表于 2018-1-14 22:14:38 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有木有人解释一下,视频,书都看了,这个有点绕啊,不懂。求指教
IMG_20180114_213615.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-14 22:37:13 | 显示全部楼层
class New_int(int),这里括号里的int表示继承int属性的所有属性和方法
底下重写了__add__ 和 __sub__后创建了两个类对象a和b,当a+b时,调用__add__方法,但是它返回的是int属性的减法,所以就是3-5,是-2
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-14 22:43:48 | 显示全部楼层
表示这个类继承于 int 类,即它具有 int 类的内置函数,可以加减乘除等操作,但是在这个类里面又改写了加法(__add__函数)和减法(__sub__),当属于这个类的对象进行加法时,实际上返回的是这个类的对象在 int 类中实现减法后返回的值;当这个类的对象进行减法时,返回的确实 在 int 类中实现加法后的值。
例:题目中的a,b 都是属于这个类, 当 a+b时,调用__add__函数,返回的值(return int.__sub__(self,other)这个是调用int 类的减法函数,self和other分别是执行减法的两个数) 却是 int(a)  - int(b) = -2,并不是-8
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-27 05:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表