Laaja valikoima sisäänrakennettuja Pythonin moduuleja, toimintoja ja lauseita auttaa ohjelmoijia suorittamaan erilaisia tehtäviä. Getattr () -funktio on sisäänrakennettu Python-toiminto, jonka avulla ohjelmoijat voivat käyttää objektin attribuuttiarvoa. Jos arvoa ei löydy, getattar () -funktio palauttaa oletusarvon. Tästä syystä getattr () -funktiota käytetään enimmäkseen kohteiden attribuuttiarvojen käyttämiseen. Tässä artikkelissa annetaan yksityiskohtainen kuvaus getattr () -funktiosta ja joitain esimerkkejä.
Syntaksi
Ennen kuin siirrymme getattr () -funktion toteuttamiseen, keskustelemme ensin sen syntaksista. Getattr () -funktion syntakse on seuraava:
getattr (objektin_nimi, attribuutin_nimi, defalut_arvo)
Getattr () -funktio ottaa kolme parametria argumenttina:
objektin_nimi: Objektin nimi, jonka attribuuttia meidän on käytettävä.
ominaisuuden nimi: Määritteen nimi, jota meidän on käytettävä.
oletusarvo: Oletusarvo, joka palautetaan, kun määritettä ei löydy.
Jos nimi-attribuuttia ei löydy ja emme määritä oletusarvoa, getattar () -funktio herättää AttributeError-poikkeuksen.
Esimerkkejä
Seuraavassa tarkastellaan joitain esimerkkejä käyttämällä getattr () -funktiota. Olemme luoneet opiskelijaluokan ja määrittäneet joitain ominaisuuksia tälle luokalle. Käytämme näitä määritteitä getattar () -toiminnon avulla.
#opiskelijaluokan luominenluokan opiskelija:
#defining name -attribuutti
name = "John"
#defining email attribute
email = "[sähköposti suojattu]"
# Opiskelijaluokan objektin luominen
std_obj = Opiskelija ()
#now std_obj on kohteemme
#accessing nimi-määritteelle
tulosta ("Nimi-määritteen arvo on:", getattr (std_obj, 'nimi'))
#accessing sähköpostiominaisuus
tulosta ("Sähköpostimääritteen arvo on:", getattr (std_obj, 'email'))
Tuotos
Getattr () -funktio palautti määritearvot onnistuneesti.
Yritämme nyt käyttää määritettä, jota ei ole määritelty. Määritämme tälle puuttuvalle määritteelle oletusarvon.
#opiskelijaluokan luominenluokan opiskelija:
#defining name -attribuutti
name = "John"
#defining email attribute
email = "[sähköposti suojattu]"
# Opiskelijaluokan objektin luominen
std_obj = Opiskelija ()
#now std_obj on kohteemme
# pääsemään ikämääritteeseen
tulosta ("Ikä on:", getattr (std_obj, 'ikä', 'Yli 20'))
Määritetty arvo on “yli 20”.
Tuotos
Määritetty arvo tulostetaan puuttuvan 'age' -määritteen takia.
Jos arvoa ei ole määritelty, getattr () -funktio herättää 'AttributeError' -poikkeuksen. Katsotaanpa esimerkki tästä.
#opiskelijaluokan luominenluokan opiskelija:
#defining name -attribuutti
name = "John"
#defining email attribute
email = "[sähköposti suojattu]"
# Opiskelijaluokan objektin luominen
std_obj = Opiskelija ()
#now std_obj on kohteemme
# pääsemään ikämääritteeseen
tulosta ("Ikä on:", getattr (std_obj, 'ikä'))
Tuotos
Voit käyttää arvoja myös getattr () -toiminnolla nimeltä namedupuple. Nameduple on sanastotyyppinen säilö, mutta sen arvoihin pääsee käyttämällä getattar () -toimintoa. The namedtuple on luokan kokoelmamoduuli. Toteutetaan nimetty dupleksi ja pääsemme arvoihin käyttämällä getattr () -toimintoa. Luomme opiskelijalle nimetyn kaksinkertaisen.
#importing kokoelmamoduulituoda kokoelmia
#luodaan nimetty kaksikko opiskelijalle
#nimi ja ikä ovat avaimet
Opiskelija = kokoelmat.namedtuple ('Opiskelija', ['nimi', 'ikä'])
#luodaan uusi opettaja ja lisätään arvot
std = Opiskelija ("John", 21)
tulosta ("Nimi on:", getattr (vakio, "nimi"))
tulosta ("Ikä on:", getattr (vakio, "ikä"))
Tuotos
Johtopäätös
Getattar () -funktio on sisäänrakennettu toiminto Pythonissa, joka palauttaa objektimääritteen arvon. Ensisijainen syy getattr () -funktion käyttöön on, että sen avulla on helppo käyttää määritteen arvoa attribuutin nimen avulla. Määritteen nimi määritellään merkkijonoksi, ja arvon saamme funktiolla getattar (). Puuttuvalle määritteelle voidaan määrittää myös arvo. Luettuasi tämän artikkelin toivottavasti opit lisää siitä, miten Python getattar () -toimintoa käytetään.