Справочник по функциям Python

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.

Смотрите также