l’instant, admettons simplement que ce terme très général s’applique notamment aux listes de Python. Une méthode n’est en fait rien d’autre qu’une fonction (que vous pouvez d’ailleurs reconnaître comme telle à la présence des parenthèses), mais une fonction qui est associée à un objet. Elle fait partie de la définition de cet objet, ou plus précisément de la classe particulière à laquelle cet objet appartient (nous étudierons ce concept de classe plus tard).
Mettre en œuvre une méthode associée à un objet consiste en quelque sorte à faire « fonctionner » cet objet d’une manière particulière. Par exemple, on met en œuvre la méthode methode4() d’un objet objet3, à l’aide d’une instruction du type : objet3.methode4(), c’est-à-dire le nom de l’objet, puis le nom de la méthode, reliés l’un à l’autre par un point. Ce point joue un rôle essentiel : on peut le considérer comme un véritable opérateur.
- Dans notre exemple, nous appliquons donc la méthode append() à l’objet resultat, qui est une liste. Sous Python, les listes constituent donc une classe particulière d’objets, auxquels on peut effectivement appliquer toute une série de méthodes. En l’occurrence, la méthode append() des objets « listes » sert à leur ajouter un élément par la fin. L’élément à ajouter est transmis entre les parenthèses, comme tout argument qui se respecte.
Remarque : nous aurions obtenu un résultat similaire si nous avions utilisé à la place de cette instruction une expression telle que «resultat = resultat + [b] ». Cette façon de procéder est cependant moins rationnelle et beaucoup moins efficace, car elle consiste à redéfinir à chaque itération de la boucle une nouvelle liste resultat, dans laquelle la totalité de la liste précédente est à chaque fois recopiée avec ajout d’un élément supplémentaire.
Lorsque l’on utilise la méthode append(), par contre, l’ordinateur procède bel et bien à une modification de la liste existante (sans la recopier dans une nouvelle variable). Cette technique est donc préférable, car elle mobilise moins lourdement les ressources de l’ordinateur, et elle est plus rapide (surtout lorsqu’il s’agit de traiter des listes volumineuses).
- Il n’est pas du tout indispensable que la valeur renvoyée par une fonction soit affectée à une variable (comme nous l’avons fait jusqu’ici dans nos exemples par souci de clarté). Ainsi, nous aurions pu tester les fonction cube() et table() en entrant les commandes :
|
|
ou encore plus simplement encore :
|
|
Pour cette première approche des fonctions, nous n'avons utilisé jusqu'ici que le mode interactif de l'interpréteur Python.