vars

Функция vars() возвращает словарь атрибутов объекта или текущего локального пространства имён, если аргумент не указан.

Синтаксис

vars([object])

Аргументы

  • object (необязательный):
    • Что означает: Объект, атрибуты которого нужно получить.
    • Возможные значения: Любой объект, у которого есть атрибуты.

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

Возвращает словарь, содержащий атрибуты объекта. Если объект не указан, возвращает словарь текущего локального пространства имён.

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

class MyClass:
    def __init__(self):
        self.x = 10
        self.y = 20

obj = MyClass()
print(vars(obj))  # Вывод: {'x': 10, 'y': 20}

print(vars())  # Вывод: Словарь локального пространства имён

Эквивалентный код

def pyplanet_vars(obj=None):
    if obj is None:
        return locals()
    return obj.__dict__

Частые ошибки

  1. Передача объектов, у которых нет атрибутов:

    print(vars(42))  # Ошибка: TypeError
    

    Как исправить: Убедитесь, что переданный объект имеет атрибуты.

Часто задаваемые вопросы

  1. Можно ли изменять возвращённый словарь? Да, но изменения могут не повлиять на оригинальный объект.
  2. Что вернёт vars(), если аргумент не указан? Словарь текущего локального пространства имён.