我決定使用STR用於打印樹的內容在樹狀結構,使用類似當__str__可以的時候,爲什麼str不能獲得第二個參數?
print tree
樹的節點是用戶創建的類的所有對象和我過載的__str__
魔術方法爲了使用子節點海峽縮進牛逼的標籤一樣,
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)
.Isn't str
,唯一捷徑魔方法?還是那是因爲pa rser拒絕額外的參數str
沒有檢查神奇的方法?
P.S.我對這種行爲感興趣。我知道這不是打印樹木的最佳方式,但它是一種黑客;)
但是如果str的行爲與你的例子一樣,如果obj .__ str __()不會導致異常,它就會起作用。它並不適用於我的情況。 –
我明白了,對不起;) –
@亞歷山大·伊凡諾夫:代碼中的'...'是*省略代碼*,僅供參考。我並不打算給出一個完整的'str'的實現。 –