我几天前在Phyton说过编程,所以如果问题很简单,我很抱歉。
我写了这段代码:
>>> class Polynomial:
def __init__(self, coeff):
self.coeff=coeff
def __repr_(self):
return str(self)
def __str__(self):
s=''
flag=0;
for i in reversed(range(len(self.coeff))):
if(i==0):
s+= '+ %g ' % (self.coeff[i])
elif (flag==0):
flag=1
s+= '%g z**%d' % (self.coeff[i],i)
else:
s+= '+ %g z**%d ' % (self.coeff[i],i)
return s
但__repr__
无效:
>>> p= Polynomial([1,2,3])
>>> p
<__main__.Polynomial instance at 0x7fd3580ad518>
>>> print p
3 z**2+ 2 z**1 + 1
如何在def __str__(self):
中使用代码wrritten而无需重新编写代码?我无法在其他任何地方找到答案。
感谢。
答案 0 :(得分:-2)
你缺少一个下划线。
修正此行:
def __repr_(self): # BROKEN
def __repr__(self): # FIXED