vars() オブジェクトの __dict__
最終更新:2026-09-22
vars() オブジェクトの __dict__
vars() は引数を渡さない場合 locals() と等価です;オブジェクトを渡した場合はそのオブジェクトの __dict__ を返します。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
vars([object])
⚙️ 引数
| object 任意 | A module, class, or instance; omitted returns the local namespace.(デフォルト値:None) |
|---|
戻り値:The object's __dict__ mapping; without args, same as locals().
💥 例外
TypeError— Raised when the object has no __dict__ (e.g., a list).
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
{'x': 1}
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qvars(obj) は何を返しますか?
Aオブジェクトの __dict__、つまりインスタンス自身が定義した属性の辞書を返します。継承された属性は含まれません。
Q引数なしの vars() は locals() と同じ?
A同じです。どちらも現在のローカルスコープの変数辞書を返します。
Qvars([1, 2]) が TypeError になるのはなぜ?
Alist インスタンスには __dict__ 属性がありません。多くの組み込み型はインスタンス辞書を保持しません。そのようなオブジェクトの属性名を調べるには dir() を使います。
Qvars() と dir() の違いは?
Avars(obj) は「インスタンス自身の属性のキーと値」を返し、dir(obj) は「見つかるすべての属性名のリスト(継承含む)」を返します。