Поиск по сайту:

Настоящая жизнь совершается там, где она незаметна (Л. Толстой).

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

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
26 декабря 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'))

 

Определенное значение – “Больше 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'))

 

Читать  Как добавить аргументы командной строки в скрипт Python

Вы также можете использовать функцию 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.

Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close