2017-03-15 4 views
-2

Ich habe vor ein paar Tagen die Programmierung in Phyton erklärt, es tut mir also leid, wenn die Frage ganz einfach ist.Python, wie man den __str__ Code für den __repr__ benutzt?

Ich habe diesen Code geschrieben:

>>> 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 

aber __repr__ funktioniert nicht:

>>> p= Polynomial([1,2,3]) 
>>> p 
<__main__.Polynomial instance at 0x7fd3580ad518> 
>>> print p 
3 z**2+ 2 z**1 + 1 

Wie kann ich das in def __str__(self): wrritten Code verwenden, ohne sie erneut writining? Ich konnte die Antwort nirgendwo anders finden. danke.

+1

Mit der Umbenennung '__repr_' zu' __repr__' –

Antwort

-2

Ihnen fehlt ein Unterstrich.

Fix diese Zeile:

def __repr_(self): # BROKEN 
def __repr__(self): # FIXED 
+3

Bitte kommentieren und bewerten als Tippfehler zu schließen anstatt zu antworten. – Li357

Verwandte Themen