In onze vorige tutorial hebben we geleerd over het python systeemcommando. In deze tutorial zullen we het hebben over de Python getattr() functie.
Python getattr() functie
De Python getattr() functie wordt gebruikt om de waarde van een attribuut van een object op te halen en als er geen attribuut van dat object wordt gevonden, wordt de standaardwaarde geretourneerd. Het teruggeven van de standaardwaarde is in feite de belangrijkste reden waarom je de Python getattr() functie zou kunnen gebruiken. Dus, voordat we aan de tutorial beginnen, laten we eerst de basis syntax van de Python getattr() functie bekijken.
getattr(object_name, attribute_name[, default_value])
Python getattr() voorbeeld
In dit gedeelte zullen we leren hoe we attribuutwaarden van een object kunnen benaderen met behulp van de getattr()
functie. Stel dat we een klasse genaamd Student
schrijven. De basisattributen van de Student-klasse zijn student_id
en student_name
. Nu zullen we een object van de klasse Student maken en toegang krijgen tot het attribuut.
class Student:
student_id=""
student_name=""
# initiële constructor om de waarden in te stellen
def __init__(self):
self.student_id = "101"
self.student_name = "Adam Lam"
student = Student()
# haal attribuutwaarden op door getattr() functie te gebruiken
print('\ngetattr : name of the student is =', getattr(student, "student_name"))
# maar je kunt hier ook toegang toe krijgen
print('traditional: name of the student is =', student.student_name)
Python getattr() standaardwaarde
In dit gedeelte zullen we de standaardwaarde-optie van de Python getattr() functie gebruiken. Als je toegang wilt krijgen tot een attribuut dat niet behoort tot het object, dan kun je de standaardwaarde-optie van getattr() gebruiken. Bijvoorbeeld, als het attribuut student_cgpa
niet aanwezig is voor de student, dan wordt een standaardwaarde getoond. In het volgende voorbeeld zullen we een voorbeeld van de standaardwaarde zien. We zullen ook leren wat er gebeurt als het attribuut niet aanwezig is en we de standaardwaarde-optie niet gebruiken.
class Student:
student_id=""
student_name=""
# initiële constructor om de waarden in te stellen
def __init__(self):
self.student_id = "101"
self.student_name = "Adam Lam"
student = Student()
# gebruik van de standaardwaarde-optie
print('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))
# zonder de standaardwaarde te gebruiken
try:
print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))
except AttributeError:
print("Attribute is not found :(")
Na het uitvoeren van de code krijg je output zoals deze
Using default value : Cgpa of the student is = 3.0
Attribute is not found :(
Merk op dat een AttributeError
wordt gegenereerd wanneer de standaardwaarde niet wordt opgegeven bij het aanroepen van de getattr() functie.
Reden voor het gebruik van de Python getattr() functie
De belangrijkste reden om getattr() in Python te gebruiken is dat we de waarde kunnen krijgen door de naam van het attribuut als een tekenreeks te gebruiken. Zo kunt u handmatig de attribuutnaam invoeren in uw programma vanuit de console. Opnieuw, als een attribuut niet wordt gevonden, kunt u een standaardwaarde instellen, waardoor we enkele van onze onvolledige gegevens kunnen aanvullen. Ook als uw Studentenklasse nog in ontwikkeling is, kunnen we de functie getattr() gebruiken om andere code aan te vullen. Zodra de Studentenklasse dit attribuut heeft, zal het automatisch worden opgehaald en niet de standaardwaarde gebruiken. Dus, dat is alles over de functie getattr() in Python. Als u hierover vragen heeft, kunt u de opmerkingen hieronder gebruiken. Referentie: Officiële documentatie
Source:
https://www.digitalocean.com/community/tutorials/python-getattr