A Python beépített moduljainak, funkcióinak és utasításainak rengeteg változata segíti a programozókat a különféle feladatok végrehajtásában. A getattr () függvény egy beépített Python-függvény, amely lehetővé teszi a programozók számára, hogy hozzáférjenek egy objektum attribútumértékéhez. Ha az érték nem található, akkor a getattar () függvény visszaadja az alapértelmezett értéket. Ez az oka annak, hogy a getattr () függvényt leginkább az objektumok attribútumértékeinek elérésére használják. Ez a cikk néhány példával részletes magyarázatot ad a getattr () függvényről.
Szintaxis
Mielőtt továbblépnénk a getattr () függvény végrehajtására, először megvitatjuk a szintaxisát. A getattr () függvény szintaxisa a következő:
getattr (objektum_neve, attribútumnév, defalut_érték)
A getattr () függvény három paramétert vesz fel argumentumként:
objektum_neve: Azon objektum neve, amelynek attribútumához hozzáférnünk kell.
attribútum_neve: Az attribútum neve, amelyhez hozzáférnünk kell.
alapértelmezett érték: Az alapértelmezett érték, amely akkor kerül visszaadásra, ha az attribútum nem található.
Ha a name attribútum nem található, és nem definiáljuk az default_value értéket, akkor a getattar () függvény felhoz egy AttributeError kivételt.
Példák
Most megnézünk néhány példát a getattr () függvény használatával. Létrehoztunk egy tanulóosztályt, és meghatároztunk néhány tulajdonságot ehhez az osztályhoz. Ezeket az attribútumokat a getattar () függvény segítségével érjük el.
# diákosztály létrehozásaosztályos diák:
#defining name attribútum
név = "János"
#defining e-mail attribútum
email = "[e-mail védett]"
# Diákosztály objektum létrehozása
std_obj = Tanuló ()
# most az std_obj a tárgyunk
# Hozzáférés a név attribútumhoz
print ("A név attribútum értéke:", getattr (std_obj, 'név'))
# Hozzáférés az e-mail attribútumhoz
print ("Az e-mail attribútum értéke:", getattr (std_obj, 'email'))
Kimenet
A getattr () függvény sikeresen visszaadta az attribútumértékeket.
Most megpróbálunk elérni egy nem definiált attribútumot. Meghatározzuk a hiányzó attribútum alapértelmezett értékét.
# diákosztály létrehozásaosztályos diák:
#defining name attribútum
név = "János"
#defining e-mail attribútum
email = "[e-mail védett]"
# Diákosztály objektum létrehozása
std_obj = Tanuló ()
# most az std_obj a tárgyunk
#accessing the age attribútum
nyomtatás ("A kor:", getattr (std_obj, 'kor', '20 felett'))
A megadott érték „20 felett”.
Kimenet
Hiányzó „age” attribútum esetén a megadott érték kerül kinyomtatásra.
Ha az érték nincs meghatározva, akkor a getattr () függvény 'AttributeError' kivételt vet fel. Lássunk erre egy példát.
# diákosztály létrehozásaosztályos diák:
#defining name attribútum
név = "János"
#defining e-mail attribútum
email = "[e-mail védett]"
# Diákosztály objektum létrehozása
std_obj = Tanuló ()
# most az std_obj a tárgyunk
#accessing the age attribútum
print ("A kor:", getattr (std_obj, 'kor'))
Kimenet
Az értékek eléréséhez a getttr () függvényt a namedtuple paranccsal is használhatja. A namedtuple egy szótár típusú tároló, de értékeit a getattar () függvény segítségével érheti el. A namedtuple a gyűjtemény modul osztálya. Vezessünk be egy namedtuple-t, és érjük el az értékeket a getattr () függvény segítségével. A diák számára létrehozunk egy megnevezett duplát.
#importálás a gyűjtemények modulbólimport gyűjtemények
# megnevezett pár létrehozása egy diák számára
A #név és az életkor a kulcs
Diák = gyűjtemények.namedtuple ('Diák', ['név', 'életkor'])
# új tanár létrehozása és az értékek hozzáadása
std = Hallgató ("John", 21)
print ("A név:", getattr (std, "név"))
nyomtatás ("A kor:", getattr (std, "kor"))
Kimenet
Következtetés
A getattar () függvény a Python beépített függvénye, amely visszaadja az objektum attribútum értékét. A getattr () függvény elsődleges oka az, hogy megkönnyíti az attribútum értékének elérését az attribútum nevével. Az attribútum neve karakterláncként van definiálva, és az értéket a getattar () függvény segítségével kapjuk meg. A hiányzó attribútumhoz érték is meghatározható. A cikk elolvasása után remélhetőleg többet megtudott a Python getattar () függvény használatáról.