我向自定义类添加了__divmod__
方法。但是,当我在此类的实例上调用divmod函数时,将返回一个额外的None
以及(div,mod)元组。
这是一个最小的示例:
class MyClass:
def __init__(self, val):
self.val = val
def __divmod__(self, other):
return np.divmod(self.val, other)
m = MyClass(7)
呼叫divmod(m, 5)
会给出:
((1, 2), None)
我希望结果与直接调用m.__divmod__(5)
相同:
(1, 2)
我不知道多余的None
来自哪里。魔术方法__divmod__
也许还有其他用途?有人可以举个例子吗?
答案 0 :(得分:-2)
班级学生: def init(self,num): self.num=num
def __divmod__(self,other):
divmod_tup=divmod(self.num,other.num)
print("Quotient=",divmod_tup[0])
print("Remainder=",divmod_tup[1])
s1=学生(66) s2=学生(20) divmod(s1,s2)