Поиск по сайту:
Страсть делает наилучшие наблюдения и наихудшие выводы (Ж.-П. Рихтер).

Функция getattr() в Python

26.12.2020
Как установить Python 3 на Ubuntu 16.04 LTS

Огромное количество встроенных модулей, функций и операторов Python помогает программистам выполнять различные задачи. Функция getattr() — это встроенная функция Python, которая позволяет программистам получать доступ к значению атрибута объекта. Если значение не найдено, функция getattar() возвращает значение по умолчанию. По этой причине функция getattr() используется в основном для доступа к значениям атрибутов объектов. Эта статья предоставит подробное объяснение функции getattr() с некоторыми примерами.

 

Синтаксис

Прежде чем перейти к реализации функции getattr(), сначала обсудим ее синтаксис. Синтаксис функции getattr() следующий:

getattr(object_name,attribute_name,defalut_value)

 

Функция getattr() принимает в качестве аргумента три параметра:

  • object_name: имя объекта, к атрибуту которого нам нужно получить доступ.
  • attribute_name: имя атрибута, к которому нам нужно получить доступ.
  • default_value: значение по умолчанию, которое возвращается, если атрибут не найден.

 

Если атрибут name не найден и мы не определяем default_value, функция getattar() вызывает исключение AttributeError.

 

Примеры

Теперь мы рассмотрим несколько примеров с использованием функции getattr(). Мы создали студенческий класс и определили некоторые атрибуты для этого класса. Мы получаем доступ к этим атрибутам с помощью функции getattar().

# создание класса студент
class Student:
#определение атрибута name
name = "AndreyEx"
#определение атрибута email
email = "AndreyEx@example.ru"
# Создание объекта класса ученика
std_obj = Student()
# теперь std_obj - наш объект
# доступ к атрибуту имени
print("Значение атрибута имени:", getattr(std_obj, 'name'))
# доступ к атрибуту электронной почты
print("Значение атрибута электронной почты:", getattr (std_obj, 'email'))

 

Вывод

Функция getattr() успешно вернула значения атрибутов.

Теперь мы попытаемся получить доступ к атрибуту, который не определен. Мы определим значение по умолчанию для этого отсутствующего атрибута.

# создание класса Student
class Student:
# определение атрибута имени
name = "AndreyEx"
# определение атрибута электронной почты
email = "AndreyEx@example.ru"
# Создание объекта класса Student
std_obj = Student()
# Теперь std_obj - наш объект
# доступ к атрибуту age
print("Возраст:", getattr(std_obj, 'age', ' Более 20'))

 

Читать  Основные обязанности инженера DevOps

Определенное значение — «Больше 20».

Вывод

В случае отсутствия атрибута «age» печатается определенное значение.

Если значение не определено, функция getattr() вызовет исключение AttributeError. Давайте посмотрим на пример этого.

# создание класса Student
class Student:
# определение атрибута name
name = "AndreyEx"
# определение атрибута email
email = "AndreyEx@example.ru" 
std_obj = Student()
# теперь std_obj - наш объект
# доступ к атрибуту age
print("Возраст:", getattr(std_obj, 'age'))

 

Вы также можете использовать функцию getattr() с namedtuple для доступа к значениям. Namedtuple — это контейнер типа словаря, но вы можете получить доступ к его значениям с помощью функции getattar(). Namedtuple — это класс модуля коллекций. Давайте реализуем именованный кортеж и получим доступ к значениям с помощью функции getattr(). Мы создаем именованный набор для student.

# импорт модуля collections
import collections
# создание именованного кортежа для ученика
# name и age - это ключи
Student = collections.namedtuple('Student', [ 'name', 'age' ])
# создание нового учителя и добавление значений
std = Student("AndreyEx", 21)
print("Имя:", getattr(std, "name"))
print("Возраст:", getattr(std, "age"))

 

Заключение

Функция getattar() — это встроенная функция в Python, которая возвращает значение атрибута объекта. Основная причина использования функции getattr() заключается в том, что она упрощает доступ к значению атрибута, используя имя атрибута. Имя атрибута определяется как строка, а значение мы получаем с помощью функции getattar(). Также можно определить значение для отсутствующего атрибута. Надеюсь, после прочтения этой статьи вы узнали больше о том, как использовать функцию getattar() в Python.

Читать  Лучшие мобильные игровые движки и платформы для разработки

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Когда вы включили кеширование в Nginx Plus, он сохраняет ответы…

Спасибо!

Теперь редакторы в курсе.