Un point sur les méthodes

Déjà vu

ma_liste.append(42)
Cette expression a pour effet d’agrandir ma_liste en ajoutant à la fin une case contenant la valeur 42.
On voit ici que
  • ma_liste est une liste

  • ma_liste.append est une fonction

  • ma_liste.append(42) est l’appel de cette fonction.

La fonction s’exécute en connaissant ma_liste et 42.

La syntaxe des méthodes

La syntaxe générale se présente ainsi:

mon_objet.nom_methode(argument)

mon_objet est un objet quelconque. On y accède le plus souvent par un nom de variable mais parfois aussi directement par une expression littérale.

# ma_liste est un nom de variable qui désigne un liste
ma_liste.extend(des_mots)
# ", " est une expression littérale de string
", ".join(des_mots)

nom_methode est un nom, comme un nom de variable. Les noms disponibles dépendent du type de mon_objet.

# python peut vous renseigner sur les méthodes disponibles pour un objet donné
dir(mon_objet)
help(mon_objet)

argument représente les arguments passés à la fonction. Ils suivent les mêmes règles que pour une fonction classique.

mon_objet.nom_methode(a, b)
mon_objet.nom_methode(a, b, option=c)

Les attributs

En vérité, un objet peut abriter derrière le . des fonctions (méthodes) mais aussi des valeurs (attributs).
Les attributs disponibles et leurs noms dépendent entièrement du type de l’objet.
help(mon_objet)

Conclusion

Selon leur type, les objets peuvent exposer derrière le . un ou plusieurs attributs et méthodes.
Les noms des méthodes/attributs est fixe pour un type donné.
Il faut se rapporter à la documentation du type de l’objet pour découvrir ce que contient qu’il propose.

Quand une méthode est appelée, elle connait à la fois:

  • l’objet auquel elle se rattache (à gauche du .)

  • les arguments de la fonction (dans les parenthèses)

Exercices

Découvrir quelques méthodes des types de bases:

  • list.append()

  • dict.get()

  • str.split()