Skip to content

Python

Warning

La documentation python est volontairement inconplète je la complète au fil de ma monté d'experience sur le sujet

Note

TODO : Documenter pour debugage via un IDE

Extention IDE

PYREFLY

peut être configurer via le fichier pyrefly.toml ex

python-platform = "linux"
reportMissingImports = "none"

Source : Pyrefly

Introduction

Variables

En Python, une variable est créée dès qu'on lui assigne une valeur. Il n'y a pas besoin de déclarer son type explicitement.

x = 5       # x est un entier
y = "Hello" # y est une chaîne de caractères

Les variables peuvent changer de type dynamiquement si on leur réassigne une nouvelle valeur :

x = 4       # x est un entier
x = "Sally" # x est maintenant une chaîne de caractères

Python gère la mémoire automatiquement via un Garbage Collector. Lorsqu'une variable n'est plus référencée (par exemple, si on utilise del ou si elle sort du scope d'une fonction), Python "oublie" cette variable et libère l'espace mémoire associé.

a = [1, 2, 3]
del a # La variable 'a' est supprimée et la liste [1, 2, 3] est éligible au garbage collection

Autre exemple avec le caractère +

followers_nb = 55 + 10
print("Followers:", followers_nb)

La sortie de la console sera :

Followers: 65

Il existe aussi des "variable" spécial comme : True, False, None

Ou encore des opérateur logique comme : not, and, or

is_active = True has_permission = False

Combinaison avec AND, OR et NOT

can_access = is_active and (has_permission or not False)

print("Accès autorisé :", can_access) # Affiche True car (False or True) est True, et True and True est True

Types de données

Python possède plusieurs types de données intégrés par défaut. Vous pouvez vérifier le type d'une variable en utilisant la fonction type().

Les types principaux :

  • str (String) : Pour les chaînes de caractères. Exemple : "Hello"
  • int (Integer) : Pour les nombres entiers. Exemple : 10
  • float (Floating point) : Pour les nombres à virgule. Exemple : 3.14
  • bool (Boolean) : Pour les valeurs vraies (True) ou fausses (False).

Exemple d'utilisation de type() :

nom = "Antoine"
age = 25
taille = 1.75
est_actif = True

print(type(nom))     # <class 'str'>
print(type(age))     # <class 'int'>
print(type(taille))  # <class 'float'>
print(type(est_actif)) # <class 'bool'>

F-Strings (Formatted Strings)

Les f-strings sont un moyen simple et lisible d'insérer des variables dans des chaînes de caractères. Pour les utiliser, on préfixe la chaîne avec f et on place la variable entre accolades {}.

name = "Antoine"
print("Utilisateur :", name)
print(f"Nice to meet you, {name}!")

Opérateurs de comparaison

Les opérateurs de comparaison permettent d'évaluer la relation entre deux valeurs. Le résultat d'une comparaison est toujours un booléen : True ou False.

  • == : Égal à
  • != : Différent de
  • > : Supérieur à
  • < : Inférieur à
  • >= : Supérieur ou égal à
  • <= : Inférieur ou égal à

Différence entre = et ==

Il est important de distinguer l'assignation de la comparaison : - = (Assignation) : Utilisé pour attribuer une valeur à une variable. - == (Égalité) : Utilisé pour comparer deux valeurs.

nombre = 10            # On assigne 10 à la variable 'nombre'
print(nombre == 10)    # On compare : est-ce que 'nombre' est égal à 10 ? -> True
print(nombre != 5)     # True
print(nombre >= 15)    # False

Note

Contrairement à d'autres langages (comme le JavaScript), Python n'utilise pas l'opérateur ===. L'opérateur == en Python compare les valeurs. Pour vérifier si deux variables pointent vers le même objet exact en mémoire (identité), on utilise l'opérateur is.

Opérateurs d'assignation augmentée (+= et -=)

Il est possible de mettre à jour la valeur d'une variable en lui ajoutant ou en lui soustrayant une valeur de manière directe et concise avec les opérateurs += et -=.

  • x += 5 est équivalent à x = x + 5
  • x -= 3 est équivalent à x = x - 3
score = 10
score += 5   # Ajoute 5 à la variable score
print(score) # Affiche 15

vies = 3
vies -= 1    # Retire 1 à la variable vies
print(vies)  # Affiche 2

La fonction input()

La fonction input() permet d'interagir avec l'utilisateur en mettant le programme en pause pour attendre une saisie au clavier.

Important : La valeur retournée par input() est systématiquement une chaîne de caractères (str), même si l'utilisateur tape un chiffre. Pour manipuler des nombres ou des booléens, il faut convertir le type (le "cast").

# Saisie d'un texte (str par défaut)
nom = input("Entrez votre nom : ")

# Saisie d'un entier (int) pour changer 
age = int(input("Entrez votre âge : "))

Les structures conditionnelles : if, elif, else

L'instruction if permet d'exécuter un bloc de code si une condition est vraie. On utilise elif (contraction de "else if") pour tester d'autres conditions si la précédente était fausse, et else pour définir un bloc de code par défaut.

note = 15

if note >= 16:
    print("Très bien")
elif note >= 12:
    print("Bien")
elif note >= 10:
    print("Passable")
else:
    print("Insuffisant")

Stocker une comparaison dans une variable

Nous pouvons stocker le résultat d'une comparaison dans une variable. Comme les opérateurs de comparaison retournent un booléen (True ou False), cette variable peut ensuite être utilisée directement dans une condition.

score = 51
pass_grade = score > 50  # pass_grade vaut True

if pass_grade:
    print("Passed!")
else:
    print("Failed!")

L'opérateur not

L'opérateur not permet d'inverser une condition (le "non" logique). Si une condition est True, not la rend False, et inversement.

is_logged_in = False

if not is_logged_in:
    print("Veuillez vous connecter pour accéder à cette page.")

Les boucles

La boucle while

La boucle while permet d'exécuter un bloc de code tant qu'une condition est vraie. Il est important de s'assurer que la condition finisse par devenir fausse, sinon on crée une boucle infinie.

compteur = 0

while compteur < 5:
    print(f"Le compteur est à : {compteur}")
    compteur += 1  # On incrémente pour éviter une boucle infinie

print("Boucle terminée !")
L'instruction break

L'instruction break permet de sortir prématurément d'une boucle, même si la condition du while est toujours vraie.

while True:
    reponse = input("Tapez 'quitter' pour sortir : ")
    if reponse == "quitter":
        break
    print(f"Vous avez tapé : {reponse}")
L'instruction continue

L'instruction continue permet de passer directement à l'itération suivante de la boucle, en ignorant le reste du code dans le bloc pour l'itération actuelle.

i = 0
while i < 10:
    i += 1
    if i % 2 == 0:
        continue  # On passe au suivant si i est pair
    print(i)      # Seuls les nombres impairs seront affichés
La clause else avec while

En Python, une boucle while peut avoir une clause else. Le bloc else est exécuté lorsque la condition devient fausse, mais pas si la boucle est interrompue par un break.

i = 0
while i < 3:
    print(i)
    i += 1
else:
    print("La boucle s'est terminée normalement.")