Apprentissage du langage Python

par | Mai 22, 2019 | STN Sciences Numériques et Technologie

Une fonction est un sous-programme, c’est à dire un morceau de programme informatique qui va être réutilisé plusieurs fois dans le programme principal.

– La fonction effectue une tâche ( un calcul, une décision, un test … )
– La fonction peut effectuer une tâche qui renvoie un résultat au programme principal, par exemple le résultat d’un calcul.
– La fonction peut contenir des paramètres, elle va donc effectuer la tâche en tenant compte de ces paramètres

 

Un exemple de programmation de calculs ( les multiplications )

Fonction qui ne renvoie pas de valeur et sans paramètres : fonction qui affiche la table de multiplication de 7

La fonction initialise une variable n à 1, puis une boucle se répète tant que la condition n <= 10 est vraie.
L’instruction de la boucle affiche une ligne de la table de multiplication, puis incrémente la valeur de n d’une unité.

Pour que le résultat de la fonction s’affiche il faut faire un appel à la fonction.
( demander à utiliser le sous-programme au moment ou on en a besoin )

table7()

Un programme Python est interprété pour être transformé en langage binaire ligne par ligne du haut vers le bas
Donc un appel de à une fonction peut se faire seulement si la fonction auparavant à été définie

Fonction avec un paramètres :

Imaginons maintenant que l’on souhaite aussi afficher la table de multiplication de 3, mais aussi celle de 8 et pourquoi pas celle de 42. La manière la plus directe consiste à définir des fonctions table3, table8 et table42, mais ce n’est pas forcément la plus intelligente et la plus efficace, car on va écrire plusieurs fois un code très similaire.

Cela n’est absolument pas pratique de devoir ainsi recopier du code sur lequel on ne fait finalement que de petits changements.
Il y a essentiellement deux endroits où on doit effectuer un changement, à savoir dans l’instruction print(n, "x 7 =", n * 7) où il faut remplacer les deux 7.

La solution :

Les occurrences de 7 ayant été remplacées par base.
Le grand avantage de cette fonction avec paramètre est qu’elle est beaucoup plus générique, c’est-à-dire qu’elle pourra fonctionner dans beaucoup plus de cas.

On écrit la définition d’une fonction une seule fois.
Et pour les appels de fonction, on modifie juste la valeur entre parenthèse.

Fonction avec plusieurs paramètres :

Une fonction peut plus d’un paramètre. Il suffit simplement de les séparer par des virgules.

Modifions, par exemple, la fonction table afin de pouvoir choisir la première ligne à afficher, et le nombre de lignes que l’on veut en tout.

Appel d’une fonction à plusieurs paramètre

Simplification de l’appel

Fonction avec des paramètres ayant des valeurs par défaut :

Il est possible de ne pas préciser tous les paramètres dans l’appel d’une fonction, les valeurs des paramètres manquant seront les paramètres par défaut.

(utilisation des paramètres par défaut)
(les paramètres par défaut 1, 10 sont remplacés par les paramètres 5, 2)

Il est possible de ne pas remplacer la totalité des paramètres par défaut


Devinette ?  Pourquoi dans le deuxième cas on est obligé de préciser length=2 ?

Remarque : les paramètres pour lesquels on prévoit une valeur par défaut doivent impérativement se trouver après les paramètres sans valeur par défaut, sans quoi l’interpréteur génèrera une erreur.

Fonction avec valeur de retour

Une fois une fonction sans valeur de retour exécutée, le programme continue son exécution en poursuivant juste après l’instruction d’appel de la fonction.
Mais une fonction peut également renvoyer une valeur qu’il est possible de récupérer lorsqu’on l’appelle.

Prenons l’exemple d’une fonction qui calcule le produit de deux nombres.
Contrairement aux fonctions précédemment vues, cette fonction va effectuer le calcul, mais n’affichera pas le résultat :

On peut appeler cette fonction comme on l’a fait jusqu’à présent, et donc écrire une instruction comme :

Cette instruction est valable et son exécution ne produira pas d’erreur. La fonction calcule le produit entre 7 et 9 puis renvoie le résultat de ce calcul. Mais on ne récupère pas cette valeur renvoyée lors de l’appel, et dès lors ce dernier est complètement inutile. Le résultat calculé par la fonction est tout simplement perdu à jamais.

Pour avoir accès à la valeur de retour, il faut la stocker dans une variable lors de l’appel, en écrivant par exemple :

Le résultat du calcul est stocké dans la variable res avant d’être affiché


Pour celles qui veulent en savoir plus sur les fonctions
https://www.ukonline.be/cours/python/apprendre-python/chapitre4-1

 

Imprimer