postanowiłem wykorzystać str drukowanie zawartości drzewa w drzewiastej strukturze, używając coś podobnegoDlaczego str nie może uzyskać drugiego parametru, gdy __str__ może?
print tree
Węzły drzewa są wszystkie obiekty klas utworzonych przez użytkownika i przeciążać ich __str__
magiczną metodę w celu wykorzystania str węzłów dziecka po tiret t kartach Like That
def __str__ (self,t=0) :`
return t*'\t' + str(self.label) +':' +'\n'+ str(self.l,t+1)+'\n'+str(self.right,t+1)+'\n'
jednak nie mogę nazwać str
t
z tego parametru, ale mogę zadzwonić node.__ str__(t=4)
.Isn't str
, skrót tylko do magii metoda? Czy to dlatego, że pa rser odrzuca dodatkowe parametry do str
bez sprawdzania metody magicznej?
P.S. Interesuje mnie zachowanie. Wiem, że to nie jest najlepszy sposób na wydrukowanie drzewa, to był hack;)
ale jeśli str zachowuje się tak, jak w twoim przykładzie, zadziała, jeśli obj .__ str __() nie doprowadzi do wyjątku. I nie w moim przypadku. –
Mam to, przepraszam;) –
@Alexander Ivanov: "..." w kodzie to * pominięty kod *, tylko dla celów ilustracyjnych. Nie zamierzałem dać pełnej implementacji 'str'. –