Я решил использовать str для печати содержимого дерева в древовидной структуре, используя что-то вроде
print tree
Все узлы дерева - это объекты пользовательских классов, и я перегружаю их__str__
магический метод для использования str дочерних узлов после таких вкладок t отступа
def __str__ (self,t=0) :`
return t*'\t' + str(self.label) +':' +'\n'+ str(self.l,t+1)+'\n'+str(self.right,t+1)+'\n'
Однако я не могу вызвать str
с этим параметром t
, но я могу вызвать node.__ str__(t=4)
.Не str
, только ярлык к магическому методу? Или это потому, что парсер отклоняет дополнительные параметры для str
без проверки магического метода?
PS Меня интересует поведение.Я знаю, что это не лучший способ напечатать дерево, это был взлом;)