все Python 3Встроенные функциипонятие
vars
интроспекция
Возвращает __dict__ объекта или словарь текущего локального пространства имён (без аргументов — аналог locals()).
Синтаксис
vars([object])
vars(экземпляра) показывает только его собственные атрибуты — атрибуты и методы класса туда не попадут, они лежат в vars(типа). Возвращается не копия, а живой __dict__: правка этого словаря действительно меняет объект. А если у класса объявлены __slots__ (или это встроенный тип вроде int), никакого __dict__ нет и vars бросит TypeError.
Примеры
class A:
def __init__(self): self.x=1; self.y=2
a=A()
print(vars(a)) # → {'x':1,'y':2}
print('x' in vars(a)) # → True
print(vars(int)['__add__']) # → ? слот-обёртка int.__add__ (repr содержит адрес)
print(type(vars())) # → dict
print('print' in vars(__builtins__) if isinstance(vars(__builtins__),dict) else True)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности