は、私は、ツリーのノードは、ユーザーが作成したクラスのすべてのオブジェクトであるなぜstrは__str__ができるときに2番目のパラメータを取得できないのですか?
print tree
のようなものを使用して、ツリー状の構造では、ツリーの内容を印刷するためのSTRを使用することを決めたと私は彼らの__str__
魔法のメソッドをオーバーロード私はそのt
パラメータでstr
を呼び出すことはできませんが、私は唯一の魔法へのショートカット、.Isn't str
node.__ str__(t=4)
を呼び出すことができますしかし、その
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を使用するために方法ですか?それは、pa rserは魔法をチェックせずに追加のパラメータをstr
に拒否しますか?
P.S.私は行動に興味があります。それは木を印刷する最良の方法ではないことを知っています、それはハックでした;)
あなたの例のようにstrが動作する場合、obj .__ str __()が例外につながることはありません。私の場合はそうではありません。 –
私はそれを持って、申し訳ありません;) –
@アレキサンダーイワノフ:コード内の '...'は説明の目的のためだけ*抜けたコード*です。私は 'str'を完全に実装するつもりはありませんでした。 –