Les Fonctions en Python
Les fonctions sont des blocs de code reutilisables ! Plutot que de recopier le meme code 10 fois, cree une fonction et appelle-la quand tu en as besoin !
Objectifs du cours
- Comprendre l'interet des fonctions
- Creer une fonction avec def
- Utiliser des parametres et arguments
- Retourner des valeurs avec return
- Comprendre la portee des variables (locale/globale)
Erreurs courantes a eviter
- Oublier les parentheses () lors de l'appel
- Confondre print() et return
- Oublier les deux-points : apres def
- Appeler une fonction avant de la definir
**Pourquoi utiliser des fonctions ?**
1. **Eviter la repetition** : Ecrire le code une fois, l'utiliser plusieurs fois 2. **Organiser le code** : Decouper en petits morceaux logiques 3. **Faciliter les tests** : Tester chaque fonction separement 4. **Rendre le code lisible** : Des noms explicites pour chaque action
**Syntaxe de base :**
```python def nom_fonction(): # Code de la fonction instruction1 instruction2 ```
**Appeler une fonction :**
```python nom_fonction() # Les parentheses sont obligatoires ! ```
**Attention :** - Le nom suit les memes regles que les variables (snake_case) - Toujours mettre les deux-points : apres les parentheses - Le code de la fonction doit etre indente
# Ma premiere fonction
def dire_bonjour():
print("Bonjour !")
print("Bienvenue dans le monde des fonctions !")
# Appel de la fonction
print("=== PREMIERE FONCTION ===")
dire_bonjour()
dire_bonjour() # On peut l'appeler plusieurs fois !
# Fonction avec plusieurs lignes
def afficher_menu():
print("\n=== MENU ===")
print("1. Jouer")
print("2. Options")
print("3. Quitter")
print("============")
afficher_menu()
# Fonction de separation visuelle
def ligne():
print("-" * 40)
ligne()
print("Contenu important")
ligne()Quiz de validation
1. Quel mot-cle permet de creer une fonction ?
2. Que retourne une fonction sans instruction return ?
3. Quelle est la difference entre print() et return ?
4. Qu'est-ce qu'une variable locale ?
5. Comment appeler la fonction saluer avec l'argument 'Alice' ?
