1+b后续问题
整型+新创类实例对象=???请看下面3个程序:
程序一:
>>> class Nint:
def __init__(self,value,value2):
self.value=value
self.values=value2
def __radd__(self,other):
return int.__sub__(self.value,other)
>>> c=Nint(2,3)
>>> 3+c
-1
>>> 3+c
-1
>>> 2+c
0
程序二:
>>> class Nint:
def __init__(self,value,value2):
self.value=value
self.values=value2
def __radd__(self,other):
return int.__sub__(self.value,other)
>>> b=Nint(5,3)
>>> 1+b
4
>>> b
<__main__.Nint object at 0x0000014B61308DC8>
>>> c=Nint(2,3)
>>> 1+b
4
>>> 2+b
3
>>> 3+b
2
>>> 4+b
1
>>> 5+b
0
程序三
>>> class Nint:
def __init__(self,value):
self.value=value
def __radd__(self,other):
return int.__sub__(self.value,other)
>>> b=Nint(3)
>>> 1+b
2
那这样的运算结果是什么???感觉很随机。。。。。。结果很奇怪。这样去调用了1的魔法方法去计算,那么传入的第二个参数值是啥啊?
你好,武老板 腿短也要抖 发表于 2020-4-28 19:06
你好,武老板
???? 永恒的蓝色梦想 发表于 2020-4-28 19:08
????
碰到熟人了,哈哈 这样去调用了1的魔法方法去计算根本没有调用1的魔法方法 永恒的蓝色梦想 发表于 2020-4-28 19:11
根本没有调用1的魔法方法
我刚试了一下,1好像确实没有魔法方法,那么为什么啊?你去type(1),它的类型是class int啊,那么int类型是有自己的魔法方法的啊。 liliya 发表于 2020-4-28 19:16
我刚试了一下,1好像确实没有魔法方法,那么为什么啊?你去type(1),它的类型是class int啊,那么int类 ...
1 有魔法方法,但是没有调用
页:
[1]