Python

Функция Python getattr ()

Функция Python getattr ()

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

Синтаксис

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

getattr (имя_объекта, имя_атрибута, значение по умолчанию)

Функция getattr () принимает в качестве аргумента три параметра:
имя_объекта: Имя объекта, к атрибуту которого нам нужно получить доступ.
имя атрибута: Имя атрибута, к которому нам нужно получить доступ.
значение по умолчанию: Значение по умолчанию, которое возвращается, если атрибут не найден.

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

Примеры

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

# создание студенческого класса
класс Студент:
#defining name attribute
name = "Джон"
# определение атрибута электронной почты
email = "[адрес электронной почты защищен]"
# Создание объекта класса ученика
std_obj = Студент ()
# теперь std_obj - наш объект
# доступ к атрибуту имени
print ("Значение атрибута name:", getattr (std_obj, 'name'))
# доступ к атрибуту электронной почты
print ("Значение атрибута электронной почты:", getattr (std_obj, 'email'))

Выход

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

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

# создание студенческого класса
класс Студент:
#defining name attribute
name = "Джон"
# определение атрибута электронной почты
email = "[адрес электронной почты защищен]"
# Создание объекта класса ученика
std_obj = Студент ()
# теперь std_obj - наш объект
# доступ к атрибуту возраста
print ("Возраст:", getattr (std_obj, 'age', 'Более 20'))

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

Выход

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

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

# создание студенческого класса
класс Студент:
#defining name attribute
name = "Джон"
# определение атрибута электронной почты
email = "[адрес электронной почты защищен]"
# Создание объекта класса ученика
std_obj = Студент ()
# теперь std_obj - наш объект
# доступ к атрибуту возраста
print ("Возраст:", getattr (std_obj, 'age'))

Выход

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

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

Выход

Заключение

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

Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...
Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...