repr() オブジェクトの印字可能な表現
最終更新:2026-09-22
repr() オブジェクトの印字可能な表現
repr() はオブジェクトの「公式」文字列表現を返す。理想的には eval() に渡してそのオブジェクトを再構築できる。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
repr(object)
⚙️ 引数
| object 必須 | The object to represent. |
|---|
戻り値:A string representation of the object; ideally eval()-reconstructible, more debugging-oriented than str().
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
datetime.datetime(2026, 1, 1, 0, 0)
'hello'
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qrepr() と str() の違いは?
Astr() は人が見やすい形式(print が既定で使用)、repr() は開発者向けの「公式表現」で、できるだけ eval() で再構築できることを目指します。例えば repr('a') は "'a'"(引用符付き)、str('a') は a になります。
Qリストを表示すると文字列要素に引用符が付くのはなぜ?
Aprint はコンテナ内の要素に対し repr() を使うためです。print(['a']) は実際にはリストの repr 形式を表示しており、要素の型を区別しやすくしています。
Qrepr でオブジェクトを本当に再構築できますか?
A組み込み型ならほぼ可能です。eval(repr(x)) で復元できます。カスタムクラスは __repr__ を自分で実装しないと意味がなく、既定ではオブジェクトのメモリアドレスを表示します。
Qf-string では repr をどう使いますか?
A変換フラグを使います。f'{x!r}' は repr(x) と等価で、デバッグ出力でよく !r と組み合わせてオブジェクトの実構造を確認します。