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

Python getattr()


В нашем предыдущем уроке мы узнали о системной команде python. В этом уроке мы обсудим функцию Python getattr().

Функция Python getattr()

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

getattr(object_name, attribute_name[, default_value])

Пример Python getattr()

В этом разделе мы узнаем, как получить доступ к значениям атрибутов объекта с помощью функции getattr(). Предположим, мы пишем класс с именем Student. Базовыми атрибутами класса Student являются student_id и student_name. Теперь мы создадим объект класса Student и получим доступ к его атрибуту.

class Student:
    student_id=""
    student_name=""

    # initial constructor to set the values
    def __init__(self):
        self.student_id = "101"
        self.student_name = "Adam Lam"

student = Student()
# get attribute values by using getattr() function
print('\ngetattr : name of the student is =', getattr(student, "student_name"))

# but you could access this like this
print('traditional: name of the student is =', student.student_name)

Python getattr() значение по умолчанию

В этом разделе мы будем использовать параметр значения по умолчанию python getattr(). Если вы хотите получить доступ к любому атрибуту, который не принадлежит объекту, вы можете использовать опцию значения по умолчанию getattr(). Например, если для учащегося отсутствует атрибут student_cgpa, будет отображаться значение по умолчанию. В следующем примере мы увидим пример значения по умолчанию. Мы также узнаем, что происходит, если атрибут отсутствует и мы не используем параметр значения по умолчанию.

class Student:
    student_id=""
    student_name=""

    # initial constructor to set the values
    def __init__(self):
        self.student_id = "101"
        self.student_name = "Adam Lam"

student = Student()
# using default value option
print('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))
# without using default value
try:
    print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))
except AttributeError:
    print("Attribute is not found :(")

Итак, после запуска кода вы получите вывод, подобный этому

Using default value : Cgpa of the student is = 3.0
Attribute is not found :(

Обратите внимание, что AttributeError возникает, когда значение по умолчанию не указано при вызове функции getattr().

Причина использования функции Python getattr()

Основная причина использования python getattr() заключается в том, что мы можем получить значение, используя имя атрибута как String. Таким образом, вы можете вручную ввести имя атрибута в своей программе из консоли. Опять же, если атрибут не найден, вы можете установить какое-то значение по умолчанию, что позволит нам заполнить некоторые из наших неполных данных. Также, если ваш класс Student находится в стадии разработки, мы можем использовать функцию getattr() для завершения другого кода. Как только класс Student получит этот атрибут, он автоматически подберет его и не будет использовать значение по умолчанию. Итак, это все о функции Python getattr(). Если у вас есть какие-либо вопросы по этому поводу, пожалуйста, используйте поле для комментариев ниже. Ссылка: Официальная документация