Почему ул не может получить второй параметр, когда __str__ может?

Я решил использовать STR для печати содержимого дерева в подобной дереву, используя что-то вроде

print tree

Узлы дерева - все объекты созданных пользователем классов, и я перегружаю их __ STR __ __-ул __ __-ул __ Magic Methert, чтобы использовать ул. Детские узлы после отступа 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 T T T T T T T T T T , но я могу звонить узел .__ str __ (t = 4) .is str , только ярлык к магическому методу? Или это потому, что парсер отвергает дополнительные параметры на STR без проверки магического метода?

PS Я заинтересован в поведении. Я знаю, что это не лучший способ напечатать дерево, это был хак;)

6
задан RedBaron 8 April 2014 в 11:28
поделиться