La méthode getattr () renvoie la valeur de l'attribut nommé d'un objet. S'il n'est pas trouvé, il renvoie la valeur par défaut fournie à la fonction.
La syntaxe de la getattr()
méthode est:
getattr (objet, nom (, par défaut))
La syntaxe ci-dessus équivaut à:
object.name
Paramètres getattr ()
getattr()
La méthode prend plusieurs paramètres:
- objet - objet dont la valeur de l'attribut nommé doit être renvoyée
- nom - chaîne contenant le nom de l'attribut
- default (facultatif) - valeur renvoyée lorsque l'attribut nommé n'est pas trouvé
Valeur renvoyée par getattr ()
getattr()
la méthode renvoie:
- valeur de l'attribut nommé de l'objet donné
default
, si aucun attribut nommé n'est trouvéAttributeError
exception, si l'attribut nommé n'est pas trouvé etdefault
n'est pas défini
Exemple 1: Comment fonctionne getattr () en Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Production
L'âge est: 23 L'âge est: 23
Exemple 2: getattr () lorsque l'attribut nommé n'est pas trouvé
class Person: age = 23 name = "Adam" person = Person() # when default value is provided print('The sex is:', getattr(person, 'sex', 'Male')) # when no default value is provided print('The sex is:', getattr(person, 'sex'))
Production
Le sexe est: Male AttributeError: l'objet 'Person' n'a pas d'attribut 'sex'
L'attribut nommé sexe n'est pas présent dans la classe Person. Ainsi, lors de l'appel d'une getattr()
méthode avec une valeur par défaut Male
, elle renvoie Male.
Mais, si nous ne fournissons aucune valeur par défaut, lorsque l'attribut nommé sex n'est pas trouvé, cela déclenche un AttributeError
disant que l'objet n'a pas d'attribut de sexe.