ProgresSchool
Faire le quiz
NSI1ère

POO et récursivité en Python : les bases

Fiche de révision complète pour maîtriser POO et récursivité en Python : les bases en NSI — méthode, exemples et pièges à éviter.

Une classe définit des objets avec attributs et méthodes
L'héritage permet de créer des sous-classes spécialisées
La récursivité nécessite un cas de base et un appel simplifié
La récursivité est utile pour des problèmes imbriqués (ex: arbres)
Préférer l'itératif pour les calculs simples et la récursivité pour les structures complexes

Python — Programmation orientée objet et récursivité

1. Programmation Orientée Objet (POO)

La POO modélise les données sous forme d'objets (instances de classes) qui encapsulent des attributs (données) et des méthodes (fonctions).

Définition d'une classe

class Personne:
    def __init__(self, nom, age):  # Constructeur
        self.nom = nom
        self.age = age
    
    def se_presenter(self):  # Méthode
        return f"Je m'appelle {self.nom} et j'ai {self.age} ans."

# Création d'un objet
p1 = Personne("Alice", 17)
print(p1.se_presenter())  # Affiche : Je m'appelle Alice et j'ai 17 ans.

Concepts clés

  • Héritage : Une classe peut hériter d'une autre (ex: class Eleve(Personne)).
  • Encapsulation : Les attributs sont protégés (ex: self.__age pour un attribut privé).
  • Polymorphisme : Une méthode peut avoir plusieurs formes (ex: redéfinir __str__).

2. Récursivité

Une fonction est récursive si elle s'appelle elle-même. Elle doit avoir :

  • Un cas de base (arrêt de la récursion).
  • Un cas récursif (appel à soi-même avec un problème simplifié).

Exemple : Factorielle

def factorielle(n):
    if n == 0:  # Cas de base
        return 1
    else:      # Cas récursif
        return n * factorielle(n - 1)

print(factorielle(4))  # Affiche 24 (4! = 4×3×2×1)

Pièges à éviter

  • Boucle infinie : Oublier le cas de base.
  • Stack overflow : Trop d'appels récursifs (ex: n trop grand).

3. Comparaison itératif vs récursif

ItératifRécursif
Boucles (for, while)Appels de fonction
Plus efficace en mémoirePlus lisible pour certains problèmes
Exemple : calcul de factorielle avec une boucleExemple : tours de Hanoï

Quand utiliser la récursivité ? Pour des problèmes naturellement récursifs (arbres, fractales, etc.).

4. Bonnes pratiques

  • POO : Utiliser des noms de classes en PascalCase (ex: CompteBancaire).
  • Récursivité : Toujours vérifier le cas de base et la simplification du problème.
  • Tests : Vérifier les limites (ex: n=0 pour la factorielle).
Sans compte · Gratuit

Teste-toi sur POO et récursivité en Python : les bases

Réponds directement ici. La correction s'affiche aussitôt, avec la formule et le piège classique à éviter.

Programme officielAucune inscriptionCorrection immédiate
NSIPremière
Question 1
Quelle requête SQL permet d'obtenir tous les participants à un événement qui ont confirmé leur présence, triés par ordre alphabétique de leur nom ?

Aucun compte requis — réponds, la correction s'affiche aussitôt.

Ta progression est déjà comptée dans ce navigateur. Crée un compte gratuit pour la retrouver sur tes autres appareils.

Questions fréquentes

POO et récursivité en Python : les bases : à quel niveau ce cours correspond-il ?

Cette fiche couvre le programme de NSI en Première, d'après le Bulletin Officiel de l'Éducation nationale.

Comment utiliser cette fiche de révision ?

Lis-la en entier une première fois sans chercher à retenir, puis relis uniquement la méthode et le piège classique. Enchaîne ensuite sur le quiz en bas de page : c'est en te trompant sur une question, et en lisant pourquoi, que la notion se fixe. Relire une fiche trois fois de suite donne l'impression de savoir, sans le savoir.

Faut-il créer un compte pour lire cette fiche ou faire le quiz ?

Non. Les quiz, les corrections détaillées et les fiches de révision sont accessibles sans créer de compte et sans donner d'adresse e-mail. Le compte gratuit sert uniquement à conserver la progression d'un appareil à l'autre.

Peut-on imprimer cette fiche ?

Oui. Utilise la fonction d'impression de ton navigateur (Ctrl+P, ou Cmd+P sur Mac). La fiche est conçue pour rester lisible sur papier.

Fiche alignée sur le programme officiel de l'Éducation nationaleToutes les fiches →

Programme en vigueur — arrêtés du 17 janvier 2019, applicable en Première depuis la rentrée 2019. Voir le texte

Signaler une erreur