Certains points abordés ici serviront très peu ou seront abordés pendant l’année. Il s’agit d’approfondissement pour ceux qui ont déjà bien compris les parties précédentes.

12. Fonctions et méthodes#

Vous avez peut-être remarqué que la façon d’appeler les “fonctions” pouvait un peu différer suivant les cas :

  • print(f) : La fonction print agit sur l’argument f en l’affichant.

  • f.suptitle() : la méthode suptitle agit sur l’objet f en le modifiant

On ne revient pas sur les fonctions qui ont déjà été présentées précédemment.

Les méthodes sont comme des fonctions mais qui sont étroitement associées à certains types de variables (on parle d’objets). Cette notion est reliée à la Programmation Orientée Objet (POO) rendue possibles par de nombreux langages informatiques (comme Python).

Sans rentrer dans les détails, on peut en POO définir des objets qui vont posséder certaines caractéristiques (des attributs) et certaines fonctions propres (des méthodes) qui permettent de les modifier ou d’obtenir certaines caractéristiques.

Par exemple, si je crée un vecteur numpy v0 : c’est un objet.

  • Il possède certaines attributs. Ex : shape donnera sa taille. Pour obtenir cet attribut, on écrira v0.shape (l’attribut shape de l’objet v0)

  • Il possède des méthodes. Ex : fill(valeur) remplit le vecteur avec la même valeur. Pour appliquer cette méthode à v0, on écrira v0.fill(3).

Il n’est pas nécessaire de maîtriser complètement la POO. Il suffira surtout de repérer quand on utilise la syntaxe d’une fonction (ex : round(3.4)) et quand il s’agit de la syntaxe d’une méthode (ex : ax.set_xlabel('Légende des x')).