Python

Funkcia python getattr ()

Funkcia python getattr ()

Široká škála vstavaných modulov, funkcií a príkazov Pythonu pomáha programátorom vykonávať rôzne úlohy. Funkcia getattr () je vstavaná funkcia Pythonu, ktorá umožňuje programátorom získať prístup k hodnote atribútu objektu. Ak sa hodnota nenájde, vráti funkcia getattar () predvolenú hodnotu. To je dôvod, prečo sa funkcia getattr () používa väčšinou na prístup k hodnotám atribútov objektov. Tento článok poskytne podrobné vysvetlenie funkcie getattr () s niekoľkými príkladmi.

Syntax

Pred prechodom na implementáciu funkcie getattr () si najskôr povieme niečo o jej syntaxi. Syntax funkcie getattr () je nasledovná:

getattr (názov_objektu, názov_atribútu, konečná_hodnota)

Funkcia getattr () berie ako argument tri parametre:
názov_objektu: Názov objektu, ku ktorého atribútu musíme získať prístup.
názov_atribútu: Názov atribútu, ku ktorému potrebujeme získať prístup.
predvolená hodnota: Predvolená hodnota, ktorá sa vráti, keď sa atribút nenájde.

Ak sa atribút name nenájde a nedefinujeme default_value, funkcia getattar () vyvolá výnimku AttributeError.

Príklady

Teraz sa pozrieme na niekoľko príkladov pomocou funkcie getattr (). Vytvorili sme triedu študentov a definovali sme niektoré atribúty tejto triedy. K týmto atribútom pristupujeme pomocou funkcie getattar ().

#vytvorenie triedy pre študentov
trieda Študent:
# definovanie atribútu mena
meno = "Ján"
# definovanie atribútu e-mailu
email = "[chránený e-mailom]"
# Vytvorenie objektu triedy študenta
std_obj = Študent ()
# now std_obj je náš objekt
#accessing the name attribute
print ("Hodnota atribútu názvu je:", getattr (std_obj, 'name'))
#accessing the email attribute
print ("Hodnota atribútu e-mailu je:", getattr (std_obj, 'email'))

Výkon

Funkcia getattr () úspešne vrátila hodnoty atribútov.

Teraz sa pokúsime získať prístup k atribútu, ktorý nie je definovaný. Definujeme predvolenú hodnotu pre tento chýbajúci atribút.

#vytvorenie triedy pre študentov
trieda Študent:
# definovanie atribútu mena
meno = "Ján"
# definovanie atribútu e-mailu
email = "[chránený e-mailom]"
# Vytvorenie objektu triedy študenta
std_obj = Študent ()
#now std_obj je náš objekt
#accessing the age attribute
print ("Vek je:", getattr (std_obj, 'age', 'nad 20'))

Definovaná hodnota je „Nad 20“.

Výkon

V prípade chýbajúceho atribútu „age“ sa vytlačí definovaná hodnota.

Ak hodnota nie je definovaná, funkcia getattr () vyvolá výnimku 'AttributeError'. Pozrime sa na príklad.

#vytvorenie triedy pre študentov
trieda Študent:
# definovanie atribútu mena
meno = "Ján"
# definovanie atribútu e-mailu
email = "[chránený e-mailom]"
# Vytvorenie objektu triedy študenta
std_obj = Študent ()
# now std_obj je náš objekt
#accessing the age attribute
print ("Vek je:", getattr (std_obj, 'vek'))

Výkon

Na prístup k hodnotám môžete tiež použiť funkciu getattr () s namedtuple. Namedtuple je kontajner typu slovníka, ale k jeho hodnotám môžete získať prístup pomocou funkcie getattar (). Namedtuple je modul triedy zbierok. Implementujme pomenovanú dvojicu a prístup k hodnotám pomocou funkcie getattr (). Pre študenta vytvárame menovku.

#importovanie modulu zbierok
importovať zbierky
#vytvorenie pomenovanej dvojice pre študenta
# meno a vek sú kľúče
Študent = zbierky.namedtuple ('Študent', ['meno', 'vek'])
#vytvorenie nového učiteľa a pridanie hodnôt
std = Študent ("John", 21)
print ("Názov je:", getattr (std, "meno"))
print ("Vek je:", getattr (std, "vek"))

Výkon

Záver

Funkcia getattar () je vstavaná funkcia v Pythone, ktorá vracia hodnotu atribútu objektu. Hlavným dôvodom použitia funkcie getattr () je, že uľahčuje prístup k hodnote atribútu pomocou názvu atribútu. Názov atribútu je definovaný ako reťazec a hodnotu získame pomocou funkcie getattar (). Pre chýbajúci atribút je možné definovať aj hodnotu. Dúfajme, že po prečítaní tohto článku ste sa dozvedeli viac o tom, ako používať funkciu Python getattar ().

Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...
Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...