vars
Получает словарь атрибутов объекта.
Python 3.13
vars([object])Параметры
- objectAnyнеобязательный
- Объект, модуль или класс; без аргумента — переменные текущей области видимости.
Возвращаемое значение
Словарь {имя атрибута: значение}.
Примеры
Атрибуты объекта
Python 3.13
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
print(vars(Point(1, 2))){'x': 1, 'y': 2}Задание атрибутов через словарь
Python 3.13
class Settings:
pass
settings = Settings()
vars(settings).update({'debug': True, 'level': 2})
print(settings.debug, settings.level)True 2
Подробности
Для обычного объекта возвращается сам словарь __dict__, а не копия, поэтому изменения в нём меняют атрибуты. В отличие от dir, показывает только собственные атрибуты объекта, без методов класса. Для чисел, строк и других объектов без __dict__ вызывает TypeError.
