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__
Частые ошибки
Передача объектов, у которых нет атрибутов:
print(vars(42)) # Ошибка: TypeError
Как исправить: Убедитесь, что переданный объект имеет атрибуты.
Часто задаваемые вопросы
- Можно ли изменять возвращённый словарь? Да, но изменения могут не повлиять на оригинальный объект.
- Что вернёт vars(), если аргумент не указан? Словарь текущего локального пространства имён.