鱼C论坛

 找回密码
 立即注册
查看: 3274|回复: 5

[已解决]有一个关于 魔法方法很不解的问题

[复制链接]
发表于 2016-3-8 16:56:23 | 显示全部楼层 |阅读模式

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

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

x
举个例子:
  1. class C(int):
  2.         def __add__(self, other):
  3.                 return int(self)+int(other)
复制代码


那么:c1=C(3)  c2=C(5)  那么c1+c2=8

如果代码是这样的:
  1. class C(int):
  2.         def __floordiv__(self, other):
  3.                 return self
复制代码


我还是计算 :c1=(3) c2=C(5)  那么结果依旧是c1+c2=8

我就是想问问  如果不定义__add__(self, other)  这个,依旧可以算加法。。。为什么还要去定义一下__add__(self, other)这个呢?岂不是很多此一举???
最佳答案
2016-3-9 21:59:54
定义一个__def__可以将两个实例化的对象进行直接相加,你可以看看44讲
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-8 18:04:38 | 显示全部楼层
小甲鱼老师视频里面这么讲,是想说可以用自己的代码,代替原来python里面的源码,实现同样的功能
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-8 18:57:58 | 显示全部楼层
应该是让代码看起来更干净整洁吧,不知道这样理解对不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-9 17:12:00 | 显示全部楼层
shuofxz 发表于 2016-3-8 18:04
小甲鱼老师视频里面这么讲,是想说可以用自己的代码,代替原来python里面的源码,实现同样的功能

原来是这样。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-9 17:12:41 | 显示全部楼层
仙人掌的花go 发表于 2016-3-8 18:57
应该是让代码看起来更干净整洁吧,不知道这样理解对不对

反正我只是觉得很奇怪。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-9 21:59:54 | 显示全部楼层    本楼为最佳答案   
定义一个__def__可以将两个实例化的对象进行直接相加,你可以看看44讲
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 02:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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