Dans notre précédent tutoriel, nous avons appris à propos de la commande système python. Dans ce tutoriel, nous allons parler de la fonction getattr() de Python.
Fonction getattr() de Python
La fonction getattr() de Python est utilisée pour obtenir la valeur d’un attribut d’un objet et si aucun attribut de cet objet n’est trouvé, une valeur par défaut est renvoyée. Fondamentalement, le renvoi de la valeur par défaut est la principale raison pour laquelle vous pourriez avoir besoin d’utiliser la fonction getattr() de Python. Avant de commencer le tutoriel, examinons la syntaxe de base de la fonction getattr() de Python.
getattr(object_name, attribute_name[, default_value])
Exemple de getattr() de Python
Dans cette section, nous apprendrons comment accéder aux valeurs des attributs d’un objet en utilisant la fonction getattr()
. Supposons que nous écrivions une classe appelée Étudiant
. Les attributs de base de la classe Étudiant sont student_id
et student_name
. Maintenant, nous allons créer un objet de la classe Étudiant et accéder à ses attributs.
class Student:
student_id=""
student_name=""
# constructeur initial pour définir les valeurs
def __init__(self):
self.student_id = "101"
self.student_name = "Adam Lam"
student = Student()
# obtenir les valeurs des attributs en utilisant la fonction getattr()
print('\ngetattr : name of the student is =', getattr(student, "student_name"))
# mais vous pouvez y accéder comme ceci
print('traditional: name of the student is =', student.student_name)
Alors, la sortie sera comme ceci
Valeur par défaut de getattr() Python
Dans cette section, nous utiliserons l’option de valeur par défaut getattr() de Python. Si vous souhaitez accéder à un attribut qui n’appartient pas à l’objet, vous pouvez utiliser l’option de valeur par défaut getattr(). Par exemple, si l’attribut student_cgpa
n’est pas présent pour l’étudiant, il affichera une valeur par défaut. Dans l’exemple suivant, nous verrons un exemple de valeur par défaut. Nous apprendrons également ce qu’il se passe si l’attribut n’est pas présent et que nous n’utilisons pas l’option de valeur par défaut.
class Student:
student_id=""
student_name=""
# constructeur initial pour définir les valeurs
def __init__(self):
self.student_id = "101"
self.student_name = "Adam Lam"
student = Student()
# utilisation de l'option de valeur par défaut
print('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))
# sans utiliser la valeur par défaut
try:
print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))
except AttributeError:
print("Attribute is not found :(")
Donc, après avoir exécuté le code, vous obtiendrez une sortie comme ceci
Using default value : Cgpa of the student is = 3.0
Attribute is not found :(
Remarquez que AttributeError
est levée lorsque la valeur par défaut n’est pas fournie lors de l’appel de la fonction getattr().
Raison d’utiliser la fonction getattr() de Python
La principale raison d’utiliser getattr() en Python est que nous pouvons obtenir la valeur en utilisant le nom de l’attribut comme une chaîne de caractères. Ainsi, vous pouvez saisir manuellement le nom de l’attribut dans votre programme depuis la console. De plus, si un attribut n’est pas trouvé, vous pouvez définir une valeur par défaut, ce qui nous permet de compléter certaines de nos données incomplètes. De plus, si votre classe Student est en cours de développement, alors nous pouvons utiliser la fonction getattr() pour compléter d’autres parties du code. Une fois que la classe Student possède cet attribut, elle le récupérera automatiquement et n’utilisera pas la valeur par défaut. Voilà donc tout sur la fonction getattr() en Python. Si vous avez des questions à ce sujet, veuillez utiliser la boîte de commentaire ci-dessous. Référence : Documentation officielle
Source:
https://www.digitalocean.com/community/tutorials/python-getattr