Python

Python getattr( ) Functie

Python getattr( ) Functie

De grote verscheidenheid aan ingebouwde modules, functies en instructies van Python helpt programmeurs om verschillende taken uit te voeren. De functie getattr() is een ingebouwde functie van Python waarmee programmeurs toegang hebben tot de attribuutwaarde van een object. Als de waarde niet wordt gevonden, retourneert de functie getattar() de standaardwaarde. Dit is de reden waarom de functie getattr() meestal wordt gebruikt om toegang te krijgen tot de attribuutwaarden van objecten. Dit artikel geeft een gedetailleerde uitleg van de functie getattr() met enkele voorbeelden.

Syntaxis

Voordat we verder gaan met de implementatie van de functie getattr() zullen we eerst de syntaxis ervan bespreken. De syntaxis van de functie getattr() is als volgt:

getattr(objectnaam,kenmerknaam,standaardwaarde)

De functie getattr() heeft drie parameters als argument:
objectnaam: De naam van het object waartoe we toegang moeten hebben.
attribuut naam: De naam van het attribuut waartoe we toegang moeten hebben.
standaardwaarde: De standaardwaarde die wordt geretourneerd wanneer het kenmerk niet wordt gevonden.

Als het name-attribuut niet wordt gevonden en we de default_value niet definiëren, genereert de functie getattar() een uitzondering AttributeError.

Voorbeelden

Nu zullen we enkele voorbeelden bekijken met de functie getattr()(. We hebben een studentenklas gemaakt en enkele attributen voor deze klas gedefinieerd. We hebben toegang tot deze attributen met behulp van de functie getattar().

#een studentenklas maken
klas leerling:
#defining name attribuut
naam = "Jan"
#definiëren van een e-mailkenmerk
email="[e-mail beveiligd]"
#Een leerlingklasobject maken
std_obj = Student()
#nu is std_obj ons object
#toegang tot het naamattribuut
print("De waarde van het naamkenmerk is: ",getattr(std_obj,'name'))
#toegang tot het e-mailkenmerk
print("De waarde van het e-mailkenmerk is: ",getattr(std_obj,'email'))

Uitgang:

De functie getattr() heeft de attribuutwaarden met succes geretourneerd.

Nu zullen we proberen toegang te krijgen tot een attribuut dat niet is gedefinieerd. We zullen de standaardwaarde voor dit ontbrekende attribuut definiëren.

#een studentenklas maken
klas leerling:
#defining name attribuut
naam = "Jan"
#definiëren van een e-mailkenmerk
email="[e-mail beveiligd]"
#Een leerlingklasobject maken
std_obj = Student()
#nu is std_obj ons object
#toegang tot het leeftijdskenmerk
print("De leeftijd is: ",getattr(std_obj,'leeftijd','Boven 20'))

De gedefinieerde waarde is "Boven 20".

Uitgang:

In het geval van het ontbrekende kenmerk 'leeftijd', wordt de gedefinieerde waarde afgedrukt.

Als de waarde niet is gedefinieerd, genereert de functie getattr() een uitzondering 'AttributeError'. Laten we hier een voorbeeld van zien.

#een studentenklas maken
klas leerling:
#defining name attribuut
naam = "Jan"
#definiëren van een e-mailkenmerk
email="[e-mail beveiligd]"
#Een leerlingklasobject maken
std_obj = Student()
#nu is std_obj ons object
#toegang tot het leeftijdskenmerk
print("De leeftijd is: ",getattr(std_obj,'leeftijd'))

Uitgang:

Je kunt ook de functie getattr() gebruiken met namedtuple om toegang te krijgen tot de waarden. De namedtuple is een container van het woordenboektype, maar je hebt toegang tot de waarden ervan met de functie getattar()). De namedtuple is een klasse van collecties module. Laten we een benoemdetuple implementeren en toegang krijgen tot de waarden met behulp van de functie getattr(). We maken een naambordje voor de leerling.

#importeren van de collecties module
collecties importeren
#een benoemdetuple maken voor een leerling
#naam en leeftijd zijn de sleutels
Student= collecties.nametuple('Student',['naam','leeftijd'])
#een nieuwe leraar maken en de waarden toevoegen
std = Student("Jan",21)
print("De naam is:", getattr(std,"naam"))
print("De leeftijd is: ",getattr(std,"leeftijd"))

Uitgang:

Conclusie

De functie getattar() is een ingebouwde functie in Python die de waarde van een objectkenmerk retourneert. De belangrijkste reden om de functie getattr() te gebruiken, is dat het gemakkelijk is om toegang te krijgen tot de waarde van een attribuut met behulp van de naam van het attribuut. De attribuutnaam wordt gedefinieerd als een tekenreeks en we krijgen de waarde met behulp van de functie getattar(). Er kan ook een waarde worden gedefinieerd voor het ontbrekende attribuut. Na het lezen van dit artikel heb je hopelijk meer geleerd over het gebruik van de functie Python getattar().

Microsoft Sculpt Touch draadloze muis Review
Ik las onlangs over de Microsoft Sculpt Touch draadloze muis en besloot hem te kopen. Nadat ik het een tijdje had gebruikt, besloot ik mijn ervaring e...
AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...
Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...