Python

Python getattr () -toiminto

Python getattr () -toiminto

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 luominen
luokan 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 luominen
luokan 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 luominen
luokan 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 kokoelmamoduuli
tuoda 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.

Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...