Fiche de révision : Bases de Python et POO

Plan du Cours

  1. Python, objets et environnement
  2. Types, variables et opérateurs
  3. Entrées, sorties et erreurs
  4. Listes et structures de données
  5. Boucles et conditions
  6. Fonctions et modules
  7. Fondamentaux du TP0
  8. Classes, instances et références

1. Python, objets et environnement

Notions clés & Définitions

  • Python : Langage généraliste de haut niveau créé par Guido van Rossum, et utilisé ici en version 3.

★ À maîtriser

📌 Python est le langage et CPython est son implémentation de référence, c’est-à-dire le programme qui lit et exécute le code.

📌 Dans l’interpréteur interactif, une expression comme 1 + 1 affiche immédiatement 2, tandis que dans un script une expression seule n’affiche rien.

Compléments

📌 Un bloc Python est défini par un même niveau d’indentation, avec une convention de quatre espaces par niveau.

Astuce mémo

Python désigne les règles ; CPython les lit et les exécute.

2. Types, variables et opérateurs

Notions clés & Définitions

  • Typage dynamique : Le typage dynamique signifie que les types sont déterminés à l’exécution et qu’un même nom peut désigner successivement des objets de types différents.

★ À maîtriser

  • Les types essentiels présentés sont int, float, str et bool, illustrés respectivement par 42, 3.14, « Python » et True.

  • Les opérateurs numériques comprennent la division réelle //, le quotient entier ////, le reste %\% et la puissance ∗∗**.

Compléments

  • L’expression -7 // 2 vaut -4, car la division entière Python arrondit vers le bas et non vers zéro.

📌 L’expression « 2 » + 2 lève TypeError, car Python ne concatène pas directement une chaîne et un entier.

Astuce mémo

Le type appartient à l’objet, pas au nom.

3. Entrées, sorties et erreurs

★ À maîtriser

📌 La fonction print sépare ses arguments par un espace et termine par un retour à la ligne, sauf si les paramètres sep ou end modifient ce comportement.

  • La fonction input() renvoie toujours une chaîne de caractères, donc int(...) est nécessaire avant un calcul numérique.

📌 SyntaxError indique une grammaire invalide, TypeError une opération entre types incompatibles, ValueError une valeur impossible et une erreur logique un résultat faux sans exception.

Compléments

  • Dans un traceback, le type et le message de l’erreur apparaissent en bas, tandis que le fichier, la ligne et l’expression concernée apparaissent au-dessus.

Astuce mémo

print affiche ; return renvoie.

4. Listes et structures de données

Notions clés & Définitions

  • Liste : Collection ordonnée et modifiable qui peut mélanger plusieurs types.

Points essentiels

  • Les indices d’une liste de longueur n vont de 0 à n-1, -1 désigne le dernier élément et un indice hors limites lève IndexError.

  • Dans une tranche x[debut:fin:pas], le début est inclus et la fin est exclue.

  • L’affectation liste2 = liste1 ne copie pas la liste : les deux noms désignent le même objet, tandis que list(liste1) crée une copie superficielle.

  • Une liste accède à ses éléments par indice, tandis qu’un dictionnaire associe des clés à des valeurs et y accède par clé.

Astuce mémo

Liste par indice, dictionnaire par clé, tuple immuable.

5. Boucles et conditions

★ À maîtriser

📌 for convient lorsque le nombre de répétitions est connu ou lorsqu’une collection doit être parcourue, tandis que while répète jusqu’à ce qu’une condition soit satisfaite.

  • Une boucle while nécessite une initialisation avant la boucle, un test avant chaque tour et une mise à jour qui fait évoluer la condition.

📌 continue saute le tour courant d’une boucle, tandis que break quitte immédiatement la boucle.

📌 Dans une structure if, elif, else, Python évalue les tests de haut en bas et s’arrête au premier test vrai.

Compléments

  • Pour les mentions, les seuils sont 16 pour Très bien, 14 pour Bien, 12 pour Assez bien et 10 pour Passable ; une note de 9 est Ajournée et une note de 13 est Assez bien.

Astuce mémo

Tester, entrer dans le bloc, mettre à jour, sortir.

6. Fonctions et modules

★ À maîtriser

📌 Une fonction sans instruction return explicite renvoie None, même si elle effectue un print.

📌 Une variable créée dans une fonction est locale et son accès hors de cette fonction lève NameError, tandis qu’une variable définie hors fonction est globale.

Compléments

  • Avec def puissance(base, exposant=2), puissance(5) vaut 25 et puissance(2, 3) vaut 8.

  • random.seed(42) rend les résultats pseudo-aléatoires reproductibles, car le générateur est déterministe.

Astuce mémo

Absence de return → valeur renvoyée None.

7. Fondamentaux du TP0

Points essentiels

📐 Formule — Le coût d’une séance vérifie couˆt=dureˊe60×tarif\text{coût} = \frac{\text{durée}}{60} \times \text{tarif}, puis le résultat est arrondi à deux décimales.

📌 classer_session renvoie « courte » si la durée est inférieure ou égale à 30, « standard » de 31 à 90 inclus et « longue » au-delà de 90.

  • total_minutes additionne les durées avec une boucle for et un accumulateur +=, et renvoie 0 pour une liste vide.

📐 Formule — convertir_minutes transforme un total en heures et minutes avec heures=total//60heures = total // 60 et minutes=total%60minutes = total \% 60.

📌 Les intervalles semi-ouverts [début, fin[ se chevauchent si da < fb et db < fa ; deux séances qui s’enchaînent avec db == fa ne se chevauchent pas.

Astuce mémo

Durée invalide → ValueError ; durée valide → calcul ou classement.

8. Classes, instances et références

Notions clés & Définitions

  • Classe : Modèle qui décrit les attributs et les méthodes communs à ses objets.
  • Objet : Exemplaire créé en appelant une classe, et chaque appel à la classe crée un nouvel objet.
  • self : Premier paramètre de chaque méthode et désigne l’objet sur lequel la méthode est appelée.

★ À maîtriser

  • Un attribut d’instance créé sur self est propre à chaque objet, tandis qu’un attribut de classe écrit dans le corps de la classe est partagé par les instances.

  • is teste l’identité entre deux objets, tandis que == teste l’égalité de leurs valeurs ; sans méthode eq, == entre objets se comporte comme is.

  • Dans Etudiant, moyenne() renvoie None si la liste de notes est vide, et est_admis() renvoie False dans ce cas ou si la moyenne est inférieure à 10.

  • Dans Etudiant, un étudiant est admis lorsque sa moyenne est supérieure ou égale à 10, seuil inclus.

Compléments

  • La fonction meilleur_etudiant ignore les étudiants sans moyenne, conserve le premier étudiant ayant la meilleure moyenne stricte et renvoie None si aucune moyenne n’est disponible.

Astuce mémo

self est propre à l’objet ; le corps de classe est partagé.

Tableaux de synthèse

Structures de données Python

StructureAccèsModifiabilité
ListeIndiceModifiable
DictionnaireCléModifiable
TupleIndiceImmuable

Erreurs Python principales

ErreurSituationExemple
IndexErrorIndice hors limitesjours[7]
KeyErrorClé absenteanimal["poids"]
TypeErrorTypes incompatibles"2" + 2
ValueErrorValeur impossibleint("deux")
NameErrorNom inexistantVariable locale hors fonction
AttributeErrorAttribut inexistantCompteur.valeur

Teste tes connaissances

Teste tes connaissances sur Bases de Python et POO avec 27 questions à choix multiples et corrections détaillées.

1. Qui a créé le langage généraliste de haut niveau Python, utilisé ici dans sa version 3 ?

2. Quelle distinction décrit correctement Python et CPython ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Bases de Python et POO avec 64 flashcards interactives.

Qu'est-ce que Python et qui l'a créé ?

Python est un langage généraliste de haut niveau créé par Guido van Rossum.

Quelle version de Python est utilisée dans ce cours ?

Le cours utilise Python 3.

Quelle est la différence entre Python et CPython ?

Python est le langage, CPython est son implémentation de référence.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches