cybercursus

Fiche de révision : Python

Mise à jour le 7 août 2026

Le squelette d’une fonction avec valeur par défaut

python
def calculer_prix(prix, remise=0):
  return prix - (prix * remise / 100)

Le squelette d’une classe

python
class CompteBancaire:
  def __init__(self, solde=0):
      self.solde = solde

  def deposer(self, montant):
      self.solde = self.solde + montant

Astuce

Trois réflexes couvrent une bonne partie des erreurs de débutant : ne pas confondre = et ==, toujours réaffecter le résultat d’une méthode de chaîne (elles ne modifient jamais sur place), et ne jamais oublier self comme premier paramètre d’une méthode.

L'essentiel

Quelle est la différence entre = et == en Python ?

= affecte une valeur à une variable. == teste une égalité et renvoie un booléen (True ou False). Confondre les deux est une erreur fréquente en débutant.

Que renvoient // et % sur deux nombres ?

// renvoie le quotient entier d'une division (arrondi vers le bas). % renvoie le reste de cette même division entière.

Comment Python délimite-t-il un bloc de code (if, for, def...) ?

Par l'indentation, généralement 4 espaces, pas par des accolades. Une ligne moins indentée signale la fin du bloc.

Quelle est la différence entre for et while ?

for répète sur un nombre d'éléments connu à l'avance (une liste, un intervalle). while répète tant qu'une condition reste vraie, sans nombre de répétitions connu d'avance.

Quelle est la différence entre return et print dans une fonction ?

return renvoie une valeur utilisable par le reste du programme. print se contente de l'afficher à l'écran, sans que cette valeur soit récupérable ailleurs.

Comment accéder au dernier élément d'une liste ou d'une chaîne ?

Avec l'indice -1 (ma_liste[-1]), qui compte depuis la fin, quelle que soit la longueur de la collection.

Pourquoi ma_chaine.upper() ne modifie-t-il jamais ma_chaine ?

Une chaîne de caractères est immuable en Python : upper() renvoie une nouvelle chaîne, sans jamais modifier l'originale. Il faut réaffecter le résultat pour en garder trace.

Que se passe-t-il en accédant à une clé absente d'un dictionnaire ?

Python lève une erreur (KeyError) avec l'accès par crochets. mon_dict.get(cle, valeur_par_defaut) évite cette erreur en renvoyant une valeur de repli.

Pourquoi cibler un type d'erreur précis (except ValueError) plutôt qu'un except générique ?

Un except trop large risque de masquer des erreurs totalement différentes et imprévues, rendant le programme plus difficile à déboguer.

À quoi servent __init__ et self dans une classe ?

__init__ s'exécute automatiquement à la création de chaque instance, pour initialiser ses attributs. self désigne l'instance en cours à l'intérieur d'une méthode.

Recherche