Blog • code, python

La fonction getattr() en Python

La fonction native getattr() retourne la valeur d'un attribut nommé d'un objet. Elle retourne la valeur par défaut si rien n'a été trouvé.

Publié le 12 septembre 2023 2 min de lecture

La fonction native getattr() retourne la valeur d'un attribut nommé d'un objet. Elle retourne la valeur par défaut si rien n'a été trouvé.

class Site:
  url = 'commentcoder.com'
  langue = 'français'
  theme = 'code'


comment_coder = Site()

url = getattr(comment_coder, 'url')
print(url)  # commentcoder.com

langue = getattr(comment_coder, 'langue')
print(langue)  # français

theme = getattr(comment_coder, 'theme')
print(theme)  # code

prix = getattr(comment_coder, 'prix', 0)
print(prix)  # 0

💡 Vous voulez en apprendre plus sur les fonctions comme getattr() ? J'ai écrit un article qui reprend toutes les fonctions natives en Python.

Quelle est la syntaxe de la fonction getattr() ?

La syntaxe de la fonction getattr() en Python est :

getattr(objet, attribut, valeur_par_defaut)

Ce qui est équivalant à appeler :

objet.attribut
class Site:
  url = 'commentcoder.com'

comment_coder = Site()

print(getattr(comment_coder, 'url'))  # commentcoder.com
print(comment_coder.url)  # commentcoder.com

Quels paramètres prend la fonction getattr() ?

La fonction getattr() prend 2 ou 3 paramètres :

  • object : le nom de l'objet de classe
  • name : le nom de l'attribut
  • default (optionnel): la valeur qui sera renvoyée si l'attribut n'existe pas, sinon lève une erreur

Quelle valeur renvoie la fonction getattr() ?

La fonction getattr() renvoie :

  • la valeur de l'attribut de l'objet si trouvé
  • la valeur default, troisième paramètre de la fonction getattr, si l'attribut n'a pas été trouvé
  • une erreur est levé et l’exception AttributeError est retournée si l'attribut n'a pas été trouvé et le paramètre default n'a pas été fourni

Aller plus loin avec getattr

La fonction native getattr fonctionne bien avec les autres fonctions qui gerent les attributs : hasattr, setattr et delattr.

J'ai écrit des articles pour chacune d'entres-elles, vous trouverez l'article en cliquant sur leur lien respectif.

En lien avec cet article

Cours Python débutant

Démarrez en Python à partir de zéro : variables, conditions, boucles, fonctions et structures de données. Chaque notion est suivie d'exercices corrigés automatiquement.

Bases du langageExercices corrigés4 projets progressifs
Voir le cours
Thomas Collart

Thomas Collart, développeur et formateur depuis plus de 20 ans. J'ai formé 3 700 étudiants à travers mes formations en ligne, cumule plus de 2 700 000 vues et 56 700 abonnés sur YouTube, TikTok et Instagram.