##
3.25.1 PrettyPrinter オブジェクト

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

`pformat`( | object)

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

`pprint`( | object)

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

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

`isreadable`( | object)

  objectをフォーマット化して出力できる（``readable''）か、あるいは `eval()`を使って値を再構成できるかを返しま す。 これは再帰的なオブジェクトに対してfalseを返すことに注意して下さい。 もし`PrettyPrinter`のdepthパラメータが設定されていて、オブ ジェクトのレベルが設定よりも深かったら、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 以降で新規追加された 仕様です。