Python getattr: как использовать функцию getattr () с примером

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

Python getattr ()

Функция getattr () используется для доступа к значению атрибута объекта, а также дает возможность выполнить значение по умолчанию в случае недоступности ключа.

См. следующий синтаксис.

 getattr (object, attribute, default) 

Объект параметр является обязательным, и это объект.

Атрибут — это имя атрибута, значение из которого вы хотите получить.

Параметр default является необязательным, и это значение, которое нужно вернуть, если атрибут не существует.

См. следующий пример кода.

 # app.pyclass StrangerThings: name =  "Одиннадцать" age = 11 country = "USA" name = getattr (StrangerThings, 'name') age = getattr (StrangerThings, 'age') country = get  attr (StrangerThings, 'country') print (name) print (age) print (country) 

См. следующий вывод.

 ➜ pyt python3 app.pyEleven11USA➜  pyt 

#getattr () Функция с объектом

Хорошо, давайте рассмотрим пример, в котором мы создаем объект, а затем получаем доступ его свойства с использованием функции getattr ().

 # app.pyclass StrangerThings: name = "Eleven" age = 11 country = "USA" duffers = StrangerThings () print (getattr (duffers, 'name')  )) print (getattr (duffers, 'age')) print (getattr (duffers, 'country')) 

Итак, мы создали объект под названием duffers , а затем мы использовали функцию getattr () для получения всех значений атрибутов.

# Значение по умолчанию

Хорошо, давайте добавим значение по умолчанию в функцию getattr ().

 # app.pyclass StrangerThings: name = "Eleven"  age = 11 country = "USA" duffers = StrangerThings () print (getattr (duffers, 'крылатая фраза', 'Друзья не лгут')) 

В приведенном выше коде мы предоставили значение по умолчанию для свойства catchphrase.

См. Следующий вывод.

 ➜ pyt python3 app.pyFriends Не лгите  ➜ pyt 

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

 # app.pyclass StrangerThings:  name = "Eleven" age = 11 country = "USA" duffers = StrangerThings () print (getattr (duffers, 'catchphrase')) 

См. следующий результат.

 ➜ pyt python3 app.pyTraceback (последний вызов последним): File "app. py ", строка 9, в  print (getattr (duffers, 'catchphrase')) AttributeError: объект 'StrangerThings' не имеет атрибута 'catchphrase' pyt 

Это означает, что объект StrangerThings имеет нет ключевой фразы атрибута. Таким образом, мы не можем получить его значение, которого даже не существует.

Если мы не предоставим никакого значения по умолчанию, когда именованный атрибут catchphrase не найден, возникает ошибка AttributeError , указывающая на то, что объект не имеет атрибута catchphrase .

Итак, используйте значение «по умолчанию» параметр для записи сообщения, когда атрибут не существует.

Наконец, пример Python getattr () завершен.

Оцените статью
nanomode.ru
Добавить комментарий