Fonctions
On peut segmenter un programme en fonctions, qui seront calculées uniquement si elles sont appelées.
Permet de faire le calcul uniquement si la fonction est appelée, gain de temps
Permet de segmenter son code, meilleur lisibilité
Permet de réutiliser des portions de code pour d'autres fonctions, gain de temps
Exemple :
Une fonction qui calcule la masse en fonction du poids. m(p)
Une autre fonction qui calcule la vitesse en fonction de la distance et de la durée. v(d,t)
Enfin une dernière qui calcule l’énergie cinétique en utilisant les fonctions précédentes. ec(m,v)
Le code de la fonction doit être indenté, c'est à dire espacé d'une tabulation. Cette particularité que Python partage avec d'autres langages permet une meilleur lisibilité, mais peut entrainer des erreurs au début.
Exemple :
Ici la fonction s'appelle "poids", prend pour paramètre une uniquement variable.
Elle donne pour résultat le produit de cette variable avec g, définie dans la fonction.
On appellera la fonction ainsi :
Avec cet appel, on précise la valeur de la variable. Vous remarquez qu'il n y a aussi référence explicite lien "m" et "50". C'est la fonction qui associe cette valeur à la variable.
Remarque : On peut définir la valeur de "m" dans le script ou lors de l'appel. On peut également définir une valeur "par défaut" si la valeur n'est pas précisée
Une fonction peut ne pas avoir de paramètre, ou un, ou plusieurs.
Attention, même si une fonction n'a pas besoin de paramètre, il faut l'appeler avec les parenthèses. exemple "ma_fonction()".
L'appel sans "ma_fonction" interroge l'objet. Python nous explique alors que c'est une fonction et nous donne son emplacement mémoire.
Enfin, attention, return permet de "retourner" le résultat de la fonction lorsque celle-ci est appelée.
Si la fonction est appelée depuis la console, le résultat s'affichera en console (s'il est affichable, ce n'est pas le cas de tous les objets)
Si la fonction est appelée dans le programme, le résultat ne sera pas affiché en console
Exercice !
Définir une fonction energie_cinetique qui calcule l’énergie cinétique d’un objet de masse m et de vitesse v
Tester avec les valeurs m = 50 et v = 10 : energie_cinetique(50,10)
Définir une fonction masse(poids) qui calcule la masse à partir du poids. Tester :
masse(500) (donne le résultat 50.9683995922528)
Il est possible de faire appel à des fonctions dans les appels des fonctions. Tester energie_cinetique(masse(500),10) qui donne 2548.41997961264
Réfléchir à l’implémentation d’une fonction calculant la vitesse à partir de la distance et de la durée
Amélioration de la fonction : Réfléchir à l'amélioration de la fonction afin qu'elle donne un résultat sous une forme écrite correctement (genre "Ec = ... J"). Il sera peut-être nécessaire de créer une nouvelle fonction.
Autrement amélioration possible : Demander à l'utilisateur la valeur lorsqu'il demande à calculer la valeur. On utilisera ici la fonction input().
Last updated
Was this helpful?