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

Python Getattr ()

Функция встроенного Getattr Python (Object, String) возвращает значение атрибута объекта с помощью строки имени. Если это не существует, он возвращает значение, указанное в качестве необязательного третьего аргумента по умолчанию. Если это тоже не существует, он поднимает AttactureError. Пример – Getattr (Porsche, «Speed»), который эквивалентен Porsche.speed. Использование Узнайте пример! Вот … Python Getattr () Подробнее »

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

Встроенный Python Getattr (объект, строка) Функция возвращает значение объект атрибут с именем строка Отказ Если это не существует, он возвращает значение, указанное в качестве необязательного третьего по умолчанию аргумент Если это тоже не существует, он поднимает AttributeError Отказ Пример – Getattr (Porsche, 'Speed') который эквивалентен Porsche.speed Отказ

Применение

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

# Define class with one attribute
class Car:
    def __init__(self, brand, speed):
        self.brand = brand
        self.speed = speed


# Create object
porsche = Car('porsche', 100)
tesla = Car('tesla', 110)

# Two alternatives to get instance attributes:
print(getattr(porsche, 'brand') + " " + str(getattr(porsche, 'speed')))
print(tesla.brand + " " + str(tesla.speed))


# Get an attribute that doesn't exist with default argument:
print(getattr(porsche, 'color', 'red'))

Выход этого кода-фрагмента:

porsche 100
tesla 110
red

Синтаксис getattr ()

getattr () Объект имеет следующий синтаксис:

Syntax: 
getattr(object, attribute[, default])         # Get object's attribute value or default if non-existent
Аргументы объект Объект, из которого следует нарисовать значение атрибута.
атрибут Имя атрибута как строка.
По умолчанию Возвращаемое значение в случае, если атрибут не существует.
Возвращаемое значение объект Возвращает значение атрибута объекта экземпляра или по умолчанию, если не существует.

Видео Getattr ()

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

Getattr (объект, атрибут, по умолчанию) Метод возвращает одно из следующих действий:

  • Значение объект ‘s атрибут
  • по умолчанию , если атрибут не существует
  • AttributeError Если ни атрибут не существует, ни по умолчанию предоставлен.

Упражнение интерактивных оболочек: понимание Getattr ()

Рассмотрим следующий интерактивный код:

Упражнение : Исправьте ошибку в коде!

Но прежде чем мы будем двигаться дальше, я рад представить вам мою новую книгу Python Python One-listers (Amazon Link).

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

Книга была выпущена в 2020 году с помощью книги по программированию мирового класса Nostarch Press (San Francisco).

Ссылка: https://nostarch.com/pythononeliners.

Зачем использовать getattr () вместо dot, чтобы получить атрибут?

Вы видели две альтернативы, чтобы получить атрибут:

  • getattr (объект, attribute_str)
  • объект.attribute.

Зачем использовать функцию Getattr () в более лаконичном синтаксисе точечного точка?

Есть две основные причины:

  • getattr () Обеспечивает значение по умолчанию в случае, если атрибут не существует, тогда как синтаксис точек бросает ошибку.
  • getattr () позволяет динамически получать доступ к атрибуту со строкой вместо имени. Например, вы можете получить строку в качестве ввода пользователя, в этом случае вы не можете использовать синтаксис DOT объект.attribute потому что атрибут это строка, а не имя.

Связанные функции

  • getattr () Функция возвращает значение атрибута.
  • setattr () Функция меняет значение атрибута.
  • Hasattr () Функция проверяет, существует ли атрибут.
  • Делаттр () Функция удаляет существующий атрибут.

Резюме

Встроенный Python Getattr (объект, строка) Функция возвращает значение объект атрибут с именем строка Отказ

# Define class with one attribute
class Car:
    def __init__(self, brand, speed):
        self.brand = brand
        self.speed = speed


porsche = Car('porsche', 100)
print(getattr(porsche, 'brand') + " " + str(getattr(porsche, 'speed')))
# porsche 100

Если это не существует, он возвращает значение, указанное в качестве необязательного третьего по умолчанию аргумент

print(getattr(porsche, 'color', 'red'))
# red

Если это тоже не существует, он поднимает AttributeError Отказ

print(getattr(porsche, 'color'))
'''
Traceback (most recent call last):
  File "C:\Users\xcent\Desktop\Finxter\Blog\HowToConvertBooleanToStringPython\code.py", line 12, in 
    print(getattr(porsche, 'color'))
AttributeError: 'Car' object has no attribute 'color'
'''

Пример – Getattr (Porsche, 'Speed') который эквивалентен Porsche.speed Отказ

print(getattr(porsche, 'speed'))
print(porsche.speed)
# Both print attribute value: 100

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

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

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

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

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

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

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

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

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

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

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

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

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