Krajta

Funkce python getattr ()

Funkce python getattr ()

Široká škála vestavěných modulů, funkcí a příkazů Pythonu pomáhá programátorům provádět různé úkoly. Funkce getattr () je vestavěná funkce Pythonu, která umožňuje programátorům přístup k hodnotě atributu objektu. Pokud hodnota není nalezena, vrátí funkce getattar () výchozí hodnotu. To je důvod, proč se funkce getattr () používá hlavně pro přístup k hodnotám atributů objektů. Tento článek poskytne podrobné vysvětlení funkce getattr () s několika příklady.

Syntax

Než přejdeme k implementaci funkce getattr (), nejprve probereme její syntaxi. Syntaxe funkce getattr () je následující:

getattr (název_objektu, název_atributu, výchozí_hodnota)

Funkce getattr () bere jako argument tři parametry:
název_objektu: Název objektu, k jehož atributu potřebujeme přístup.
název_atributu: Název atributu, ke kterému musíme přistupovat.
výchozí hodnota: Výchozí hodnota, která se vrátí, když atribut není nalezen.

Pokud atribut name nebyl nalezen a nedefinujeme default_value, funkce getattar () vyvolá výjimku AttributeError.

Příklady

Nyní se podíváme na několik příkladů pomocí funkce getattr (). Vytvořili jsme třídu studentů a definovali některé atributy této třídy. K těmto atributům přistupujeme pomocí funkce getattar ().

#vytvoření studentské třídy
třída Student:
# definování atributu názvu
name = "John"
# definování atributu e-mailu
email = "[e-mail chráněn]"
# Vytvoření objektu třídy studenta
std_obj = Student ()
#now std_obj je náš objekt
#accessing the name attribute
print ("Hodnota atributu name je:", getattr (std_obj, 'name'))
#accessing the email attribute
print ("Hodnota atributu e-mailu je:", getattr (std_obj, 'email'))

Výstup

Funkce getattr () úspěšně vrátila hodnoty atributů.

Nyní se pokusíme získat přístup k atributu, který není definován. Definujeme výchozí hodnotu pro tento chybějící atribut.

#vytvoření studentské třídy
třída Student:
# definování atributu názvu
name = "John"
# definování atributu e-mailu
email = "[e-mail chráněn]"
# Vytvoření objektu třídy studenta
std_obj = Student ()
#now std_obj je náš objekt
#accessing the age attribute
print ("The age is:", getattr (std_obj, 'age', 'Above 20'))

Definovaná hodnota je „Nad 20“.

Výstup

V případě chybějícího atributu „age“ se vytiskne definovaná hodnota.

Pokud hodnota není definována, funkce getattr () vyvolá výjimku 'AttributeError'. Podívejme se na příklad.

#vytvoření studentské třídy
třída Student:
# definování atributu názvu
name = "John"
# definování atributu e-mailu
email = "[e-mail chráněn]"
# Vytvoření objektu třídy studenta
std_obj = Student ()
#now std_obj je náš objekt
#accessing the age attribute
print ("Věk je:", getattr (std_obj, 'věk'))

Výstup

Pro přístup k hodnotám můžete také použít funkci getattr () s namedtuple. Namedtuple je kontejner typu slovníku, ale k jeho hodnotám můžete přistupovat pomocí funkce getattar (). Namedtuple je modul třídy sbírek. Implementujme pojmenovaný tuple a přistupujme k hodnotám pomocí funkce getattr (). Pro studenta vytváříme jmennou n-tici.

#importování modulu sbírek
importovat sbírky
#vytvoření jmenovky pro studenta
# jméno a věk jsou klíče
Student = sbírky.namedtuple ('Student', ['name', 'age'])
#vytvoření nového učitele a přidání hodnot
std = Student ("John", 21)
print ("Název je:", getattr (std, "name"))
print ("Věk je:", getattr (std, "věk"))

Výstup

Závěr

Funkce getattar () je integrovaná funkce v Pythonu, která vrací hodnotu atributu objektu. Primárním důvodem pro použití funkce getattr () je to, že usnadňuje přístup k hodnotě atributu pomocí názvu atributu. Název atributu je definován jako řetězec a hodnotu získáme pomocí funkce getattar (). Pro chybějící atribut lze také definovat hodnotu. Po přečtení tohoto článku, doufejme, jste se dozvěděli více o tom, jak používat funkci Python getattar ().

Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...
Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...
Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...