Python

Funktsioon Python getattr ()

Funktsioon Python getattr ()

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 loomine
klassi õ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 loomine
klassi õ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 loomine
klassi õ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 moodulit
importige 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.

Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...
HD Remastered Games Linuxile, millel pole kunagi varem Linuxi väljalaset olnud
Paljud mängude arendajad ja kirjastajad pakuvad frantsiisi eluea pikendamiseks välja vanade mängude HD-remasteri. Palun fännid, kes soovivad ühilduvus...
Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...