香喷喷的咸鱼 发表于 2021-4-25 18:09:12

python 魔法方法修改 中self 的意义

本帖最后由 香喷喷的咸鱼 于 2021-4-25 18:12 编辑

class New_int(int):
        def __sub__(self,other):
                return int(self) - int(other)

a=New_int(3)
b=New_int(1)
a-b

上面的代码这个self和other分别代表什么?为什么在a+b时a就自动代入了self而b就自动代入了other内?a和b不是两个单独的对象嘛!
想了解内部计算的原理步骤,希望鱼油可以救救孩子!
{:10_284:} {:10_284:}

°蓝鲤歌蓝 发表于 2021-4-25 18:14:55

a = "msg"
len(a)   => str.__len__(a) 或者 a.__len__()
同理
a + b => a.__sub__(b)
方法中的参数 self 是一定要写成 self 的,但是 other 就可以是其他名字。

香喷喷的咸鱼 发表于 2021-4-25 18:18:14

°蓝鲤歌蓝 发表于 2021-4-25 18:14
同理

方法中的参数 self 是一定要写成 self 的,但是 other 就可以是其他名字。

朋友、、没太看明白你写的,不过我大致已经明白了,谢谢你的热情!
页: [1]
查看完整版本: python 魔法方法修改 中self 的意义