Функция vars( ) в Python

Обложка к статье "Функция vars( ) в Python"

Функция vars в Python используется для возвращения атрибутов объекта в виде словаря. Если объект не передан, vars возвращает словарь локальных переменных в текущей области видимости.

Синтаксис

vars([object])

Параметры

  • object (необязательный): Объект, атрибуты которого должны быть возвращены. Если объект не указан, возвращается словарь локальных переменных.

Возвращаемое значение

Функция vars возвращает словарь атрибутов объекта. Если объект не указан, возвращается словарь локальных переменных.

Примеры использования

Пример 1: Использование vars без параметров

def example_function():
    local_var1 = "hello"
    local_var2 = 42
    print(vars())

example_function()
# Вывод: {'local_var1': 'hello', 'local_var2': 42}

Пример 2: Использование vars с объектом

class Example:
    def __init__(self, a, b):
        self.a = a
        self.b = b

example_instance = Example(10, 20)
print(vars(example_instance))
# Вывод: {'a': 10, 'b': 20}

Пример 3: Изменение атрибутов объекта с помощью vars

class Example:
    def __init__(self, a, b):
        self.a = a
        self.b = b

example_instance = Example(10, 20)
attributes = vars(example_instance)
attributes['a'] = 30
print(example_instance.a)
# Вывод: 30

Пример 4: Динамическое добавление атрибутов объекту

class DynamicAttributes:
    pass

obj = DynamicAttributes()
attributes = vars(obj)
attributes['new_attr'] = "I am new!"
print(obj.new_attr)
# Вывод: I am new!

Пример 5: Получение и изменение глобальных переменных

global_var = "I am global"

def modify_globals():
    g = globals()
    g['global_var'] = "I am modified"
    print(global_var)

modify_globals()
# Вывод: I am modified

Важные замечания

  1. Локальные переменные: При вызове без параметров, vars возвращает словарь локальных переменных текущей области видимости. Это полезно для отладки и анализа текущего состояния программы.
  2. Изменяемость: Словарь, возвращаемый vars, является изменяемым. Это позволяет динамически изменять атрибуты объекта или локальные переменные.
  3. Отсутствие объекта: Если переданный объект не имеет атрибута __dict__, будет вызвано исключение TypeError.

Оцените статью
( Пока оценок нет )
Обучение Python
Добавить комментарий