5.18.1 PrettyPrinter オブジェクト

PrettyPrinterインスタンスには以下のメソッドがあります:

pformat( object)
objectのフォーマット化した表現を返します。 これはPrettyPrinterのコンストラクタに渡されたオプションを考慮し てフォーマット化されます。

pprint( object)
objectのフォーマット化した表現を指定したストリームに出力し、最後に 改行します。

以下のメソッドは、対応する同じ名前の関数と同じ機能を持っています。 以下のメソッドをインスタンスに対して使うと、新たにPrettyPrinter オブジェクトを作る必要がないのでちょっぴり効果的です。

isreadable( object)
objectをフォーマット化して出力できる(``readable'')か、あるいは eval()を使って値を再構成できるかを返しま す。 これは再帰的なオブジェクトに対してfalseを返すことに注意して下さい。 もしPrettyPrinterdepthパラメータが設定されていて、オブ ジェクトのレベルが設定よりも深かったら、falseを返します。

isrecursive( object)
オブジェクトが再帰的な表現かどうかを返します。

このメソッドをフックとして、サブクラスがオブジェクトを文字列に変換する方 法を修正するのが可能になっています。 デフォルトの実装では、内部でsaferepr()を呼び出しています。

format( object, context, maxlevels, level)
3つの値を返します:objectをフォーマット化して文字列にしたもの、そ の結果が読み込み可能かどうかを示すフラグ、再帰が含まれているかどうかを示 すフラグ。

最初の引数は表示するオブジェクトです。 2つめの引数はオブジェクトのid()をキーとして含むディクショナリ で、オブジェクトを含んでいる現在の(直接、間接にobjectのコンテナと して表示に影響を与える)環境です。 ディクショナリcontextの中でどのオブジェクトが表示されたか表示する 必要があるなら、3つめの返り値はtrueになります。 format()メソッドの再帰呼び出しではこのディクショナリのコンテナ に対してさらにエントリを加えます。 3つめの引数maxlevelsで再帰呼び出しのレベルを設定します; もし制限しないなら、0にします。 この引数は再帰呼び出しでそのまま渡されます。 4つめの引数levelで現在のレベルを設定します; 再帰呼び出しでは、現在の呼び出しより小さい値が渡されます。 バージョン 2.3 で 新たに追加 された仕様です。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。