Pytonorm

Python getattr () -funktion

Python getattr () -funktion

Det stora utbudet av Python-inbyggda moduler, funktioner och uttalanden hjälper programmerare att utföra olika uppgifter. Getattr () -funktionen är en inbyggd Python-funktion som låter programmerare komma åt attributvärdet för ett objekt. Om värdet inte hittas returnerar funktionen getattar () standardvärdet. Detta är anledningen till att funktionen getattr () används mest för att komma åt attributvärdena för objekt. Den här artikeln ger en detaljerad förklaring av getattr () -funktionen med några exempel.

Syntax

Innan vi går vidare till implementeringen av getattr () -funktionen kommer vi först att diskutera dess syntax. Syntaxen för getattr () -funktionen är som följer:

getattr (objektnamn, attributnamn, defalut_värde)

Funktionen getattr () tar tre parametrar som argument:
objektnamn: Namnet på objektet vars attribut vi behöver komma åt.
attributnamn: Namnet på attributet som vi behöver komma åt.
standardvärde: Standardvärdet som returneras när attributet inte hittas.

Om namnattributet inte hittas och vi inte definierar standardvärde, höjer funktionen getattar () ett undantag för AttributeError.

Exempel

Nu ska vi titta på några exempel med funktionen getattr (). Vi har skapat en studentklass och definierat några attribut för denna klass. Vi kommer åt dessa attribut med funktionen getattar ().

# skapar en studentklass
klass Student:
#defining name attribute
namn = "John"
#defining ett e-postattribut
email = "[email protected]"
# Skapa ett studentklassobjekt
std_obj = Student ()
#now std_obj är vårt objekt
#accessing the name attribute
print ("Namnattributvärdet är:", getattr (std_obj, 'name'))
#accessing the email attribute
skriva ut ("E-postattributvärdet är:", getattr (std_obj, "e-post"))

Produktion

Funktionen getattr () returnerade attributvärdena framgångsrikt.

Nu försöker vi komma åt ett attribut som inte är definierat. Vi definierar standardvärdet för detta attribut som saknas.

# skapar en studentklass
klass Student:
#defining name attribute
namn = "John"
#defining ett e-postattribut
email = "[email protected]"
# Skapa ett elevklassobjekt
std_obj = Student ()
#now std_obj är vårt objekt
#accessing the age attribute
tryck ("The age is:", getattr (std_obj, 'age', 'Above 20'))

Det definierade värdet är "Över 20".

Produktion

Om det åldersattribut som saknas saknas det definierade värdet.

Om värdet inte definieras kommer funktionen getattr () att höja ett undantag för attributfel. Låt oss se ett exempel på detta.

# skapar en studentklass
klass Student:
#defining name attribute
namn = "John"
#defining ett e-postattribut
email = "[email protected]"
# Skapa ett elevklassobjekt
std_obj = Student ()
#now std_obj är vårt objekt
#accessing the age attribute
skriva ut ("The age is:", getattr (std_obj, 'age'))

Produktion

Du kan också använda getattr () -funktionen med namedtuple för att komma åt värdena. Den namngivna tupeln är en behållare av ordlistatyp, men du kan komma åt dess värden med funktionen getattar (). Den namngivna tupeln är en klass av samlingsmodul. Låt oss implementera en namedtuple och komma åt värdena med funktionen getattr (). Vi skapar en namngiven tupel för eleven.

#importing the collection module
importera samlingar
# skapa en namngiven tupel för en student
# namn och ålder är nycklarna
Student = samlingar.namedtuple ('Student', ['name', 'age'])
#skapar en ny lärare och lägger till värdena
std = Student ("John", 21)
tryck ("Namnet är:", getattr (std, "namn"))
tryck ("The age is:", getattr (std, "age"))

Produktion

Slutsats

Funktionen getattar () är en inbyggd funktion i Python som returnerar värdet på ett objektattribut. Den främsta anledningen till att använda funktionen getattr () är att det gör det enkelt att komma åt värdet på ett attribut med attributets namn. Attributnamnet definieras som en sträng, och vi får värdet med funktionen getattar (). Ett värde kan också definieras för attributet som saknas. Efter att ha läst den här artikeln lär du dig förhoppningsvis mer om hur du använder funktionen Python getattar ().

Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...
Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...
HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...