👁️🗨️ Création et utilisation de fonctions
En programmation, les fonctions servent à rendre le code plus lisible et réutilisable. Lorsqu'une opération doit être répétée plusieurs fois, il est pratique de la mettre dans une fonction.
Une fonction peut :
- prendre zéro, un ou plusieurs arguments (données d'entrée),
- renvoyer une valeur avec
returnou ne rien renvoyer (dans ce cas, Python renvoieNone).
Exemple de définition d'une fonction :
def nom_de_la_fonction(arguments):
# instructions de la fonction
return resultat
Exemples concrets :
def puissance(a, b):
return a ** b
def hello():
return "Bonjour"
res = puissance(4, 2)
print(res) # 16
print(hello()) # Bonjour
Vous pouvez définir des valeurs par défaut pour certains arguments :
def puissance(a, b=2):
return a ** b
print(puissance(2)) # 4 (b prend sa valeur par défaut 2)
print(puissance(2, 3)) # 8 (b est remplacé par 3)
Les variables passées en argument à une fonction sont considérées comme locales à la fonction. Une fonction peut cependant modifier des variables globales si nécessaire. Les listes passées en argument peuvent également être modifiées à l'intérieur de la fonction.
Les modules
Un module est un fichier Python contenant des fonctions, classes ou variables. Python dispose de nombreux modules intégrés et il est possible d’en créer soi-même.
| Modules courants | Caractéristiques | Lien |
|---|---|---|
| math | Fonctions et constantes mathématiques (sin, cos, exp, pi…) | Lien |
| numpy | Opérations mathématiques avancées, matrices | Lien |
| sys | Gestion des arguments et entrée/sortie standard | Lien |
| os | Interaction avec le système d'exploitation | Lien |
| random | Génération de nombres aléatoires | Lien |
| time | Gestion du temps et de l'heure | Lien |
| calendar | Gestion des dates | Lien |
| Tkinter | Création d'interfaces graphiques | Lien |
| matplotlib | Création de graphiques et courbes | Lien |
Exemples d'importation :
import random
print(random.randint(0, 10)) # nombre entier aléatoire entre 0 et 10 inclus
from random import randint
print(randint(0, 10)) # même résultat sans préfixe "random."
from random import *
print(randint(0, 10)) # importe toutes les fonctions
print(uniform(0, 2.5)) # nombre flottant aléatoire
Pour obtenir de l'aide sur un module ou une fonction :
help(random) # affiche la documentation du module
help(randint) # affiche la documentation de la fonction
Créer votre propre module
Pour créer un module :
- Écrire des fonctions ou variables dans un fichier Python.
- Enregistrer le fichier avec l'extension
.py. - Importer ce module dans un autre script avec
import.
La fonction help() lira les commentaires (docstrings) que vous avez ajoutés entre triple guillemets.