Рубрики
Без рубрики

Функция Python vars ()

Встроенные VARS () () Python () возвращает атрибут __dict__ объекта — словарь, содержащий изменяемые атрибуты объекта. Без аргумента он возвращает локальный символ, аналогичный местным целям (). Класс автомобиля: def __init __ (self) :() Печать (vars (porsche)) # {‘Speed’: 100, «Бренд»: «Porsche ‘} Встроенные VARS () () функция () возвращает словарь … Python vars ( ) Функция Подробнее »

Автор оригинала: Chris.

Встроенный Python vars () Функция возвращает __dict__ Атрибут объекта – словарь, содержащий изменяемые атрибуты объекта. Без аргумента он возвращает локальный стол символа, похожий на Местные жители () Отказ

class Car:
    def __init__(self):
        self.speed = 100
        self.brand = 'porsche'

porsche = Car()
print(vars(porsche))
# {'speed': 100, 'brand': 'porsche'}

Встроенный Python vars () Функция возвращает словарь Имя: значение сопоставления всех названий, определенных в локальном объеме или объеме опционального объект аргумент и их связанные значения.

  • При использовании без аргумента vars () возвращает так же, как Местные жители () Это возвращает Словарь Имя -> Объект Сопоставления имена, определенные в текущем локальном объеме, и объекты, являющиеся их связанными значениями.
  • При использовании с аргументом объекта vars (объект) возвращает так же, как объект .__ Dict __ () Это возвращает Словарь Имя -> Объект Сопоставления пиремных имен, определенные в объеме объекта объекта, и объекты, являющиеся их связанными значениями.

Узнайте пример! Вот пример того, как использовать vars () Встроенная функция Отказ

Видео vars ()

vars () без аргумента: синтаксис и пример

Syntax: 
vars()         # Returns dictionary of "name --> value" mappings like locals()
Аргументы
Возвращаемое значение обдумывать Словарь отображений изменных имен, определенных в локальном пространстве имен, и объекты, которые они относятся.

При использовании без аргумента vars () возвращает так же, как Местные жители () Это возвращает Словарь Имя -> Объект Сопоставления имена, определенные в текущем локальном объеме, и объекты, являющиеся их связанными значениями.

>>> vars()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'C:\\Users\\...\\code.py', 'find_path': , 'G': [[1, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 0, 0, 1, 1]]}
>>> locals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'C:\\Users\\...\\code.py', 'find_path': , 'G': [[1, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 0, 0, 1, 1]]}
>>> vars() == locals()
True

vars () с аргументом: синтаксис и пример

Syntax: 
vars(object)         # Returns same as object.__dict__()
Аргументы объект Объект, для которого следует извлекаться атрибут на имя объектов
Возвращаемое значение обдумывать Словарь отображений из имени атрибутов, определенных в пространстве имен объекта, и объекты, которые они относятся.

При использовании с аргументом объекта vars (объект) возвращает так же, как объект .__ Dict __ () Это возвращает Словарь Имя -> Объект Сопоставления пиремных имен, определенные в объеме объекта объекта, и объекты, являющиеся их связанными значениями.

>>> def f():
	x = 2

	
>>> vars(f)
{}
>>> f.y = 42
>>> vars(f)
{'y': 42}

Как только вы назначите новый атрибут y к объекту функции, он становится доступным в словаре, возвращенном vars () функция. Тем не менее, локальная переменная х не атрибут F Так что это не часть возвращенного словаря.

[Как исправить] Типеррера: VARS () Аргумент должен иметь __dict__ атрибут

Если вы пройдете аргумент в vars () Функция, которая не имеет __dict __ () Функция, Python поднимает Типеррор Отказ Это означает, что рассматриваемый объект не имеет никаких атрибутов, таких как целое число, поплавок, список и т. Д.

>>> vars(42)
Traceback (most recent call last):
  File "", line 1, in 
    vars(42)
TypeError: vars() argument must have __dict__ attribute

Вы можете исправить это только передающими аргументы, которые перезаписали __dict__ Способ, такой как функция или пользовательский объект:

>>> def f():
	return 42

>>> vars(f)
{}
>>> f.val = 'YES'
>>> vars(f)
{'val': 'YES'}

Резюме

Встроенный Python vars () Функция возвращает словарь Имя: значение сопоставления всех названий, определенных в локальном объеме или объеме опционального объект аргумент и их связанные значения.

При использовании без аргумента vars () возвращает так же, как Местные жители () Это возвращает Словарь Имя -> Объект Сопоставления имена, определенные в текущем локальном объеме, и объекты, являющиеся их связанными значениями.

>>> vars()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'C:\\Users\\...\\code.py', 'find_path': , 'G': [[1, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 0, 0, 1, 1]]}
>>> locals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'C:\\Users\\...\\code.py', 'find_path': , 'G': [[1, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 0, 0, 1, 1]]}
>>> vars() == locals()
True

При использовании с аргументом объекта vars (объект) возвращает так же, как объект .__ Dict __ () Это возвращает Словарь Имя -> Объект Сопоставления пиремных имен, определенные в объеме объекта объекта, и объекты, являющиеся их связанными значениями.

>>> def f():
	x = 2

	
>>> vars(f)
{}
>>> f.y = 42
>>> vars(f)
{'y': 42}

Я надеюсь, что вам понравилось статью! Чтобы улучшить свое образование Python, вы можете присоединиться к популярной академии по электронной почте Free Finxter:

Хотите увеличить свои навыки Python в веселой и легкой потребности? Рассмотрим следующие ресурсы и стать магистральным кодером!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.