decidí usar str para imprimir el contenido de un árbol en estructura de árbol, usando algo como¿Por qué str no puede obtener un segundo parámetro cuando __str__ puede?
print tree
Los nodos del árbol son todos los objetos de clases creados por el usuario y que sobrecargue su método mágico __str__
con el fin de utilizar str los nodos hijos después de t tabulaciones de sangría como que
def __str__ (self,t=0) :`
return t*'\t' + str(self.label) +':' +'\n'+ str(self.l,t+1)+'\n'+str(self.right,t+1)+'\n'
sin embargo no puedo llamar con str
que t
parámetro, pero puedo llamar node.__ str__(t=4)
.Isn't str
, único atajo a la magia método? O es que porque el pa ¿rser rechaza params adicionales a str
sin verificar el método mágico?
P.S. Estoy interesado en el comportamiento. Sé que no es la mejor manera de imprimir un árbol, fue un truco;)
pero si str se comporta como en su ejemplo, funcionará si obj .__ str __() no da lugar a excepción. Y en mi caso no. –
lo tengo, lo siento;) –
@ Alexander Ivanov: El '...' en el código es * código omitido *, solo con fines ilustrativos. No tenía la intención de dar una implementación completa de 'str'. –