鱼C论坛

 找回密码
 立即注册
查看: 940|回复: 7

[已解决]魔法方块课后题

[复制链接]
发表于 2020-6-14 20:59:16 | 显示全部楼层 |阅读模式

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

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

x
def __init__(self,arg=''):
        if isinstance(arg,str):
            self.total=0
            for each in arg:
                self.total+=each
            else:
                print('参数错误')
        def __add__(self,other):
            return self.total+other.total
这个类对象我不知道自己理解的对不对,所以想请大神指点。
def __init__(self,arg=''):
        if isinstance(arg,str):
            self.total=0
            for each in arg:
                self.total+=each
            else:
                print('参数错误')
这里的self后后面add里的self作用是不是不一样啊?在输入a=Nstr('FishC')和b=Nstr('love')之后分别运行init方法,然后出现a+b之后,在分别复制给self和other运行add方法吗?感觉理解的很奇怪
最佳答案
2020-6-15 11:26:06
今天的我更强了 发表于 2020-6-15 11:16
就是说 __init__方法中的self 和__add__方法中的self 是不是作用不同?

self 是相同含义,都是指自己的实例化对象

单独对 add 而已 举个简单例子,假设已经实例化为a了:

a + b
这里的 a 就代表 self  b 代表 other
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-14 21:02:09 | 显示全部楼层
魔  法  方  块(指命令方块)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-14 22:10:33 | 显示全部楼层


代码发个完整的吧,你这代码缩进都有点错误了

话说 add 是魔法方法,是 加法时候自动调用,而这的self算是参数,而且类中self是代表实例对象,这扯不上关系呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-14 23:52:58 | 显示全部楼层
老八秘制 发表于 2020-6-14 21:02
魔  法  方  块(指命令方块)


哈哈哈,指令方块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-15 10:15:04 | 显示全部楼层
Twilight6 发表于 2020-6-14 22:10
代码发个完整的吧,你这代码缩进都有点错误了

话说 add 是魔法方法,是 加法时候自动调用,而这的se ...

def __init__(self,arg=''):
        if isinstance(arg,str):
            self.total=0
            for each in arg:
                self.total+=each
            else:
                print('参数错误')
def __add__(self,other):
    return self.total+other.total

缩进确实有错误,其余的代码就是把减乘除加上了 没别的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 10:26:48 | 显示全部楼层
今天的我更强了 发表于 2020-6-15 10:15
def __init__(self,arg=''):
        if isinstance(arg,str):
            self.total=0

你重新描述下你的问题吧,感觉看不懂你上面描述的问题...因为 __add__ 和 self 扯不上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-15 11:16:54 | 显示全部楼层
Twilight6 发表于 2020-6-15 10:26
你重新描述下你的问题吧,感觉看不懂你上面描述的问题...因为 __add__ 和 self 扯不上

就是说 __init__方法中的self 和__add__方法中的self 是不是作用不同?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 11:26:06 | 显示全部楼层    本楼为最佳答案   
今天的我更强了 发表于 2020-6-15 11:16
就是说 __init__方法中的self 和__add__方法中的self 是不是作用不同?

self 是相同含义,都是指自己的实例化对象

单独对 add 而已 举个简单例子,假设已经实例化为a了:

a + b
这里的 a 就代表 self  b 代表 other
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 16:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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