Pythoni sisseehitatud moodulite, funktsioonide ja avalduste suur valik aitab programmeerijatel erinevaid ülesandeid täita. Funktsioon getattr () on sisseehitatud Pythoni funktsioon, mis võimaldab programmeerijatel pääseda juurde objekti atribuudiväärtusele. Kui väärtust ei leita, tagastab funktsioon getattar () vaikeväärtuse. See on põhjus, miks funktsiooni getattr () kasutatakse enamasti objektide atribuudiväärtustele juurde pääsemiseks. See artikkel annab funktsiooni getattr () üksikasjaliku selgituse koos mõne näite abil.
Süntaks
Enne funktsiooni getattr () rakendamise juurde asumist arutame kõigepealt selle süntaksit. Funktsiooni getattr () süntaks on järgmine:
getattr (objekti_nimi, atribuudi_nimi, defaluti_väärtus)
Funktsioon getattr () võtab argumendina kolm parameetrit:
objekti_nimi: Selle objekti nimi, mille atribuudile peame juurde pääsema.
atribuudi_nimi: Selle atribuudi nimi, millele peame juurde pääsema.
vaikeväärtus: Vaikeväärtus, mis tagastatakse, kui atribuuti ei leita.
Kui nime atribuuti ei leita ja me ei määra vaikeväärtust, tõstab funktsioon getattar () erandi AttributeError.
Näited
Nüüd vaatame funktsiooni getattr () abil mõningaid näiteid. Oleme loonud õpilasklassi ja määratlenud selle klassi jaoks mõned atribuudid. Nendele atribuutidele pääseme juurde funktsiooni getattar () abil.
# õpilasklassi loomineklassi õpilane:
#defining name atribuut
nimi = "John"
#defining e-posti atribuut
email = "[email kaitstud]"
# Üliõpilasklassi objekti loomine
std_obj = Õpilane ()
# nüüd on std_obj meie objekt
# juurdepääs atribuudile nimi
print ("Nime atribuudi väärtus on:", getattr (std_obj, 'nimi'))
# juurdepääs e-posti atribuudile
print ("E-posti atribuudi väärtus on:", getattr (std_obj, 'email'))
Väljund
Funktsioon getattr () tagastas atribuudi väärtused edukalt.
Nüüd proovime juurde pääseda atribuudile, mis pole määratletud. Määrame selle puuduva atribuudi vaikeväärtuse.
# õpilasklassi loomineklassi õpilane:
#defining name atribuut
nimi = "John"
#defining e-posti atribuut
email = "[email kaitstud]"
# Üliõpilasklassi objekti loomine
std_obj = Õpilane ()
# nüüd on std_obj meie objekt
# atribuudi vanus
print ("Vanus on:", getattr (std_obj, 'vanus', 'Üle 20'))
Määratletud väärtus on „üle 20”.
Väljund
Atribuudi „vanus” puudumisel prinditakse määratletud väärtus.
Kui väärtus pole määratletud, tõstab funktsioon getattr () erandi 'AttributeError'. Vaatame selle näidet.
# õpilasklassi loomineklassi õpilane:
#defining name atribuut
nimi = "John"
#defining e-posti atribuut
email = "[email kaitstud]"
# Üliõpilasklassi objekti loomine
std_obj = Õpilane ()
# nüüd on std_obj meie objekt
# atribuudi vanus
print ("Vanus on:", getattr (std_obj, 'vanus'))
Väljund
Väärtustele juurdepääsu saamiseks võite kasutada ka funktsiooni getattr () nimega dupleks. Nimega tuple on sõnastiku tüüpi konteiner, kuid selle väärtustele pääseb juurde funktsiooni getattar () abil. Nimetatud paar on kollektsioonimooduli klass. Rakendame nimega dupleksi ja pääseme väärtustele juurde funktsiooni getattr () abil. Loome õpilasele nimelise paari.
#importing kogude moodulitimportige kollektsioone
#nimekatke loomine õpilasele
#nimi ja vanus on võtmed
Õpilane = kogud.namedtuple ('õpilane', ['nimi', 'vanus'])
# uue õpetaja loomine ja väärtuste lisamine
std = õpilane ("John", 21)
print ("Nimi on:", getattr (std, "nimi"))
print ("Vanus on:", getattr (std, "vanus"))
Väljund
Järeldus
Funktsioon getattar () on Pythonis sisseehitatud funktsioon, mis tagastab objekti atribuudi väärtuse. Funktsiooni getattr () kasutamise peamine põhjus on see, et see muudab atribuudi väärtusele juurdepääsu atribuudi nime abil lihtsaks. Atribuudi nimi on määratletud stringina ja väärtuse saame funktsiooni getattar () abil. Puuduva atribuudi jaoks saab määrata ka väärtuse. Loodetavasti õppisite pärast selle artikli lugemist lisateavet funktsiooni Python getattar () kasutamise kohta.