Cours Python – 8 Octobre 2025

Introduction du cours

Lors de cette sĂ©ance, nous avons discutĂ© des exercices du projet Spotify. Les corrections seront effectuĂ©es au fur et Ă  mesure des cours. Nous avons Ă©galement introduit l’utilisation de Google Colab, un notebook interactif qui permettra d’exĂ©cuter du code Python directement dans les exercices Ă  venir.

📅 Information : Mardi aprĂšs-midi prochain, une Ă©valuation est prĂ©vue afin de vĂ©rifier la progression et la comprĂ©hension des notions abordĂ©es.

👉 Lien vers le Google Colab du jour : https://colab.research.google.com/drive/1PfXoHHN7V9A6act0lRe7mtK2THDv9tRf

Focus sur les conditions – structures fondamentales

Les conditions sont l’un des fondements de la logique en programmation. Elles permettent d’exĂ©cuter du code seulement si certaines rĂšgles sont respectĂ©es. Voici un rappel sur les opĂ©rateurs de comparaison et quelques subtilitĂ©s importantes.

Exemples d’opĂ©rateurs de comparaison

  • == → Ă©galitĂ©
  • != → diffĂ©rence
  • < → infĂ©rieur Ă 
  • <= → infĂ©rieur ou Ă©gal
  • > → supĂ©rieur Ă 
  • >= → supĂ©rieur ou Ă©gal
💡 SubtilitĂ© : Les opĂ©rateurs mathĂ©matiques peuvent aussi comparer des chaĂźnes de caractĂšres. Cette comparaison repose sur les valeurs dĂ©cimales des caractĂšres dans la table ASCII et Unicode. Cependant, il est fortement dĂ©conseillĂ© de le faire car cela peut produire des rĂ©sultats inattendus.

OpĂ©rateurs d’appartenance et d’identitĂ©

Python propose également des opérateurs permettant de vérifier si un élément appartient à un ensemble, ou si deux objets sont identiques :

  • in : vĂ©rifie si un Ă©lĂ©ment est prĂ©sent dans une collection.
  • not in : vĂ©rifie l’inverse.
  • is : teste l’identitĂ© d’un objet (et non son Ă©galitĂ© de valeur).
À retenir : L’opĂ©rateur is est principalement utilisĂ© avec None.

a = None

if a is None:
    print("La variable a est bien None.")

⚠ Attention : on Ă©crit is None et non == None.

Structure if / elif / else

Cette structure conditionnelle permet de gérer plusieurs cas possibles :

Les blocs else et elif sont optionnels.


age = 18

if age < 18:
    print("Mineur")
elif age == 18:
    print("Tout juste majeur")
else:
    print("Majeur")

đŸ’» Exemple : un script similaire est disponible sur le Google Colab du jour.

Opérateurs logiques et notion de court-circuit

⛔ Notion de court-circuit : Lorsqu’un opĂ©rateur logique est Ă©valuĂ©, Python s’arrĂȘte dĂšs qu’il connaĂźt le rĂ©sultat :
  • Avec and : si la premiĂšre condition est False, la suite n’est pas Ă©valuĂ©e.
  • Avec or : si la premiĂšre condition est True, la suite n’est pas Ă©valuĂ©e.

Notion de "truthiness"

La truthiness dĂ©signe la capacitĂ© d’un objet Python Ă  ĂȘtre Ă©valuĂ© comme True ou False sans passer explicitement par ces valeurs. En d’autres termes, certains objets sont "vĂ©ridiques" (truthy) ou "faux" (falsy) par nature.

Exemples :

  • Les listes vides, chaĂźnes vides ou le nombre 0 sont considĂ©rĂ©s comme falsy.
  • Les objets non vides ou non nuls sont truthy.

if 0:
    print("Cette ligne ne s'affiche pas")  # 0 est falsy
else:
    print("Zéro est considéré comme False")

Expression conditionnelle ternaire

Une forme compacte d’écriture d’une condition simple :


age = 20
statut = "majeur" if age >= 18 else "mineur"
print(statut)
Cette syntaxe doit ĂȘtre rĂ©servĂ©e aux conditions simples. Pour les cas plus complexes, il vaut mieux utiliser une structure if classique pour plus de lisibilitĂ©.

Optimisation et bonnes pratiques

Lorsqu’on enchaĂźne de nombreuses conditions imbriquĂ©es, on risque de crĂ©er une structure appelĂ©e "Pyramid of Doom" (pyramide du malheur), rendant le code difficile Ă  lire et Ă  maintenir.

💡 Astuce : Il est possible d’allĂ©ger son code en stockant des conditions dans des variables boolĂ©ennes. Si une variable retourne un boolĂ©en, il est inutile de comparer avec == True ou == False. La vĂ©rification est implicite.

is_admin = True

if is_admin:
    print("AccÚs autorisé")