🐍 Fiche mémo Python (IP1)

📦 Instanciation de variables

On instancie avec un schema du type

 nom : type = type( valeur d initialisation )
i: int = int(0)              # entier
pi: float = float(3.14)      # flottant
name: str = str("Alice")     # chaîne de caractères
flag: bool = bool(True)      # booléen
p1: Point2D = Point2D(2, 5)  # type structuré Point2D

👉 Lorsqu’une étiquette (référence) est à gauche du signe =, elle change d’affectation et pointe vers une nouvelle valeur.
👉 Lorsqu’elle est utilisée ailleurs, elle permet d’accéder à la valeur associée; on peut donc la substituer dans le code par la valeur courante.


📋 Listes et accès aux éléments

numbers: list[int] = list([10, 20, 30])

first: int = numbers[0]   # accès au 1er élément
size : int = len(numbers) # longueur de la liste
last: int = numbers[size -1]   # accès au dernier élément

🏷️ Type structuré et attributs

from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int

# Instanciation avec paramètres ordonnés
p: Person = Person("Alice", 25)

print(p.name)  # accès à un attribut
print(p.age)
p.age = 26     # modification de l'attribut age de p

🔄 Boucle while

i: int = int(0)

while i < 5:
    print(i)
    i = i + 1   # incrémentation de l'indice pour éviter les boucles infinies

✅ Condition if

x: int = int(10)

if x > 0:
    print("Positif")
else:  # optionnel
    print("Non positif")

📐 Les blocs de code

En Python, un bloc est défini par une indentation (décalage vers la droite, généralement 4 espaces (ou la touche ‘tab’: ↹)).
Tout ce qui est indenté après un if, else, while, ou une fonction fait partie du bloc associé.

Exemple :

x: int = int(2)

if x > 0:            # début du bloc conditionnel
    print("Positif") # ce code est dans le bloc
print("Fin")         # ce code est en dehors du bloc

📍 Deux-points : et blocs de code

En Python, un bloc de code commence toujours après une instruction qui se termine par :.
Le : annonce que les lignes suivantes, indentées (en général avec 4 espaces, pas la touche ↹), appartiennent au bloc.

Exemples :

if x > 0:          # le ':' introduit le bloc du if
    print("Positif")
    print("toujours dans le bloc")

while x < 5:       # le ':' introduit le bloc du while
    x = x + 1

@dataclass
class Person:      # le ':' introduit le bloc d'un type structuré
    name: str
    age: int

🏷️ Étiquettes et valeurs

Une étiquette est un nom qui référence une valeur.

Exemple avec une liste :

numbers: list[int] = list([1, 2, 3])

# Affectation : numbers reçoit une nouvelle valeur (nouvelle liste)
numbers = list([10, 40, 30])

# Accès : utilisation de l'étiquette 1: int pour accéder à la valeur puis modifier l'étiquette elle même (la liste)
x : int = numbers[1] # x permet d'accéder à la valeur 40
numbers[1] = x // 2
print(numbers[1])  # affiche 20
x = 10             # x permet d'accéder à la valeur 40

🎨 Schéma : étiquette vs valeur

# Quand on écrit :
x = 5
# alors l'étiquette x pointe désormais vers une autre valeur (5).

Règles clés :