Piton

Python getattr () funkcija

Python getattr () funkcija

Velika raznolikost Python ugrađenih modula, funkcija i izjava pomaže programerima u izvršavanju različitih zadataka. Funkcija getattr () je ugrađena funkcija Pythona koja programerima omogućuje pristup vrijednosti atributa objekta. Ako vrijednost nije pronađena, tada funkcija getattar () vraća zadanu vrijednost. To je razlog zašto se funkcija getattr () uglavnom koristi za pristup vrijednostima atributa objekata. Ovaj će članak pružiti detaljno objašnjenje funkcije getattr () s nekoliko primjera.

Sintaksa

Prije nego što prijeđemo na implementaciju funkcije getattr (), prvo ćemo razgovarati o njezinoj sintaksi. Sintaksa funkcije getattr () je sljedeća:

getattr (ime_objekta, atribut_ime, defalut_value)

Funkcija getattr () uzima tri parametra kao argument:
ime_objekta: Ime objekta čijemu atributu moramo pristupiti.
atribut_ime: Ime atributa kojem trebamo pristupiti.
zadana_vrijednost: Zadana vrijednost koja se vraća kada atribut nije pronađen.

Ako atribut name nije pronađen i ne definiramo default_value, funkcija getattar () podiže iznimku AttributeError.

Primjeri

Sada ćemo pogledati neke primjere pomoću funkcije getattr (). Izradili smo studentski razred i definirali neke atribute za ovaj razred. Ovim atributima pristupamo pomoću funkcije getattar ().

#stvaranje studentskog razreda
razred Student:
#defining atribut imena
name = "Ivan"
#definiranje atributa e-pošte
email = "[e-pošta zaštićena]"
# Stvaranje predmeta studentske klase
std_obj = Student ()
#now std_obj je naš objekt
# pristup atributu imena
print ("Vrijednost atributa imena je:", getattr (std_obj, 'name'))
#accessing atribut e-pošte
print ("Vrijednost atributa e-pošte je:", getattr (std_obj, 'email'))

Izlaz

Funkcija getattr () uspješno je vratila vrijednosti atributa.

Sada ćemo pokušati pristupiti atributu koji nije definiran. Definirat ćemo zadanu vrijednost za ovaj atribut koji nedostaje.

#stvaranje studentskog razreda
razred Student:
#defining atribut imena
name = "Ivan"
#definiranje atributa e-pošte
email = "[e-pošta zaštićena]"
# Izrada predmeta studentske klase
std_obj = Student ()
#now std_obj je naš objekt
# pristup atributu dobi
ispis ("Dob je:", getattr (std_obj, 'dob', 'Iznad 20'))

Definirana vrijednost je "Iznad 20".

Izlaz

U slučaju da nedostaje atribut 'dob', ispisuje se definirana vrijednost.

Ako vrijednost nije definirana, funkcija getattr () podići će iznimku 'AttributeError'. Pogledajmo primjer toga.

#stvaranje studentskog razreda
razred Student:
#defining atribut imena
name = "Ivan"
#definiranje atributa e-pošte
email = "[e-pošta zaštićena]"
# Stvaranje predmeta studentske klase
std_obj = Student ()
#now std_obj je naš objekt
# pristup atributu dobi
print ("Dob je:", getattr (std_obj, 'dob'))

Izlaz

Također možete koristiti funkciju getattr () s namedtuple za pristup vrijednostima. Imenovani je spremnik tipa rječnika, ali njegovim vrijednostima možete pristupiti pomoću funkcije getattar (). Imenovani je klasa modula zbirki. Primijenimo imenovani par i pristupimo vrijednostima pomoću funkcije getattr (). Izrađujemo imenovani par za učenika.

#uvoz modula zbirki
uvoz zbirki
# stvaranje učenika za učenika
#ime i dob su ključevi
Student = zbirke.namedtuple ('Student', ['name', 'age'])
#stvaranje novog učitelja i dodavanje vrijednosti
std = Student ("Ivan", 21)
print ("Ime je:", getattr (std, "name"))
print ("Dob je:", getattr (std, "dob"))

Izlaz

Zaključak

Funkcija getattar () je ugrađena funkcija u Pythonu koja vraća vrijednost atributa objekta. Primarni razlog upotrebe funkcije getattr () jest taj što olakšava pristup vrijednosti atributa pomoću imena atributa. Ime atributa definirano je kao niz, a vrijednost dobivamo pomoću funkcije getattar (). Vrijednost se također može definirati za atribut koji nedostaje. Nakon čitanja ovog članka, nadamo se, naučili ste više o tome kako koristiti funkciju Python getattar ().

10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...
5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...
Bitka za Wesnoth 1.13.6 Razvoj objavljen
Bitka za Wesnoth 1.13.6 objavljeno prošlog mjeseca, šesto je razvojno izdanje u izdanju 1.13.x series i donosi niz poboljšanja, ponajviše korisničkog ...