Python

Функция Python getattr ()

Функция Python getattr ()

Голямото разнообразие от вградени модули, функции и изявления на Python помага на програмистите да изпълняват различни задачи. Функцията getattr () е вградена функция на Python, която позволява на програмистите да имат достъп до стойността на атрибута на обект. Ако стойността не е намерена, функцията getattar () връща стойността по подразбиране. Това е причината, поради която функцията getattr () се използва най-вече за достъп до стойностите на атрибутите на обектите. Тази статия ще предостави подробно обяснение на функцията getattr () с някои примери.

Синтаксис

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

getattr (име на обект, име на атрибут, дефалт_значение)

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

Ако атрибутът на името не е намерен и не дефинираме default_value, функцията getattar () повдига изключение AttributeError.

Примери

Сега ще разгледаме някои примери с помощта на функцията getattr (). Създадохме студентски клас и дефинирахме някои атрибути за този клас. Имаме достъп до тези атрибути с помощта на функцията getattar ().

#създаване на студентски клас
клас Студент:
#defining име атрибут
name = "Джон"
#defining атрибут на имейл
имейл = "[имейл защитен]"
# Създаване на обект на студентски клас
std_obj = Студент ()
#now std_obj е нашият обект
#accessing the name attribute
print ("Стойността на атрибута за име е:", getattr (std_obj, 'name'))
#accessing the email attribute
print ("Стойността на атрибута на имейл е:", getattr (std_obj, 'имейл'))

Изход

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

Сега ще се опитаме да получим достъп до атрибут, който не е дефиниран. Ще определим стойността по подразбиране за този липсващ атрибут.

#създаване на студентски клас
клас Студент:
#defining име атрибут
name = "Джон"
#defining атрибут на имейл
имейл = "[имейл защитен]"
# Създаване на обект на студентски клас
std_obj = Студент ()
#now std_obj е нашият обект
#accessing the age attribute
print ("Възрастта е:", getattr (std_obj, 'age', 'Above 20'))

Определената стойност е „Над 20“.

Изход

В случай на липсващ атрибут „възраст“, ​​дефинираната стойност се отпечатва.

Ако стойността не е дефинирана, функцията getattr () ще изведе изключение 'AttributeError'. Нека да видим пример за това.

#създаване на студентски клас
клас Студент:
#defining име атрибут
name = "Джон"
#defining атрибут на имейл
имейл = "[имейл защитен]"
# Създаване на обект на студентски клас
std_obj = Студент ()
#now std_obj е нашият обект
#accessing the age attribute
print ("Възрастта е:", getattr (std_obj, 'age'))

Изход

Можете също да използвате функцията getattr () с namedtuple за достъп до стойностите. Namedtuple е контейнер от тип речник, но можете да получите достъп до неговите стойности с помощта на функцията getattar (). Namedtuple е клас колекционен модул. Нека реализираме namedtuple и достъп до стойностите, използвайки функцията getattr (). Създаваме имена за ученика.

#importing колекционен модул
импортиране на колекции
#creating a namedtuple for a student
#name и възраст са ключовете
Студент = колекции.namedtuple ('Студент', ['име', 'възраст'])
#creating нов учител и добавяне на стойностите
std = Студент ("Йоан", 21)
print ("Името е:", getattr (std, "name"))
print ("Възрастта е:", getattr (std, "age"))

Изход

Заключение

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

Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...
Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...
Как да покажете OSD наслагване в приложения на цял екран за Linux и игри
Играта на цял екран или използване на приложения в режим на цял екран без разсейване може да ви откъсне от съответната системна информация, видима в п...