Python getattr ()

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é
  • AttributeErrorexception, si l'attribut nommé n'est pas trouvé et defaultn'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 AttributeErrordisant que l'objet n'a pas d'attribut de sexe.

Articles intéressants...