vars() Object __dict__
Last updated: 2026-09-22
vars() Object __dict__
vars() without args is like locals(); with an object returns object.__dict__.
| Category | Built-in Functions |
|---|---|
| Kind | Built-in Function |
| Python Version | all |
📝 Syntax
vars([object])
⚙️ Parameters
| object Optional | A module, class, or instance; omitted returns the local namespace.(Default:None) |
|---|
Returns:The object's __dict__ mapping; without args, same as locals().
💥 Raises
TypeError— Raised when the object has no __dict__ (e.g., a list).
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
{'x': 1}
🏷️ Related Built-in Functions
💡 Related Cases
More case studies coming soon — check back later.
❓ FAQ
QWhat does vars(obj) return?
AIt returns the object's __dict__, i.e. the dict of attributes the instance defines itself, excluding inherited attributes.
QIs vars() with no argument the same as locals()?
AYes, both return the variable dict of the current local scope.
QWhy does vars([1, 2]) raise a TypeError?
AA list instance has no __dict__ attribute — many built-in types do not store an instance dictionary; for such objects use dir() to inspect attribute names instead.
QWhat is the difference between vars() and dir()?
Avars(obj) returns the key-value pairs of the instance's own attributes; dir(obj) returns a list of all attribute names that can be found (including inherited ones).