我想重载string方法s.t.得到以下输出:
print Class_name({6:7, 4:5, 7:7})
7*x^7 + 7*x^6 + 5*x^4
我做了以下事情:
^{pr2}$为什么这样不行?
套房
print Class_name({6:7, 4:5, 7:7})
,我得到
{4: 13, 6: 14, 7: 7}
谢谢你的帮助!在
编辑: 如果我有额外的定义:
def __add__(self, other):
out = self.dictionary
for k,v in sorted(other.dictionary.iteritems(), reverse=True):
try:
out[k] += v
except:
out[k] = v
return out
我想这样做:
print Class_name({6:7, 4:5, 7:7})+Class_name({6:7, 4:5, 7:7})
我得到:
{6:14, 4:10, 7:14}
而不是所需的表示。在
您需要为类定义
__repr__
函数示例
^{pr2}$对于附加工作:
这对我有用(从代码中剪切并粘贴,包装在类定义中)
我想知道你是否真的没有定义你的类的
__str__()
也许你只是定义了一个名为__str__()
的函数。。。在相关问题 更多 >
编程相关推荐