Breaking

dimanche 15 février 2026

COURS COMPLET PYTHON - DE DÉBUTANT À EXPERT

 


Cours Python · Fondamentaux à Expert

🐍 Cours Complet Python · De Débutant à Expert

20 chapitres · exemples & résultats · structure claire

🔹 PARTIE 1 : FONDAMENTAUX (Cours 1-7)

🐍 1️⃣

Premier programme

Pas besoin de classe ou de main(). print() affiche. Indentation significative (4 espaces).
🔑 Mots‑clés
printindentation
💻 Code
# Premier programme Python
print("Bonjour le monde !")
📤 Résultat : Bonjour le monde !
🐍 2️⃣

Variables

Typage dynamique : int, float, str, bool, list, dict
intfloatstrboollistdict
age = 25
prix = 19.99
nom = "Jean"
est_actif = True
print(f"Nom : {nom}, Âge : {age}")
print("Type age :", type(age))
📤 Résultat : Nom : Jean, Âge : 25
Type age :
🐍 3️⃣

Opérateurs arithmétiques

+, -, *, /, // (division entière), % (modulo), ** (puissance)
+-*///%**
a, b = 10, 3
print(f"Addition : {a + b}")
print(f"Division entière : {a // b}")
print(f"Puissance : {a ** 2}")
📤 Résultat : Addition : 13
Division entière : 3
Puissance : 100
🐍 4️⃣

Conversion (casting)

int(), float(), str()
int()float()str()
nombre_str = "42"
nombre_int = int(nombre_str)
prix = 15.7
arrondi = int(prix)  # 15
print(f"String → int : {nombre_int}")
print(f"Float → int : {arrondi}")
📤 Résultat : String → int : 42
Float → int : 15
🐍 5️⃣

Interaction (input)

input() retourne une chaîne. Penser à convertir.
input
nom = input("Entrez votre nom : ")
age = int(input("Âge : "))
print(f"Bonjour {nom}, {age} ans")
📤 Exemple : (saisie "Alice", 25) → Bonjour Alice, 25 ans
🐍 6️⃣

Conditions (if/elif/else, match)

if, elif, else ; match (Python 3.10+)
ifelifelsematchcase
age = 18
if age < 13:
    print("Enfant")
elif age < 20:
    print("Adolescent")
else:
    print("Adulte")
📤 Résultat : Adolescent
🐍 7️⃣

Boucles (while, for)

while, for ... in range()
whileforrange
# while
c = 1
while c <= 3:
    print(c); c+=1

# for
for i in range(1, 4):
    print(f"5 x {i} = {5*i}")
📤 Résultat : 1 2 3 puis 5x1=5, 5x2=10, 5x3=15

🔹 PARTIE 2 : PROGRAMMATION PROCÉDURALE (Cours 8-10)

🐍 8️⃣

Fonctions

def, paramètres, retour, arguments variables (*args)
defreturn*args
def addition(a, b):
    return a + b

def max_nombres(*nombres):
    return max(nombres)

print(addition(5,3))
print(max_nombres(5,8,3))
📤 Résultat : 8
8
🐍 9️⃣

Listes (arrays)

Création, ajout (append), parcours, sum, len
listappendsumlensorted
notes = [15,8,12,18,10]
print(f"Somme : {sum(notes)}")
print(f"Moyenne : {sum(notes)/len(notes)}")
print(f"Tri : {sorted(notes)}")
📤 Résultat : Somme : 63, Moyenne : 12.6, Tri : [8,10,12,15,18]
🐍 🔟

Modules (str, math, random)

import math, random ; méthodes sur les chaînes
importmathrandomstr
import math, random
print(math.sqrt(16))
print(random.randint(1,6))
📤 Résultat : 4.0 et un nombre entre 1 et 6

🔹 PARTIE 3 : PROGRAMMATION ORIENTÉE OBJET (Cours 11-15)

🐍 1️⃣1️⃣

Classes & Objets

Définition avec class, attributs, méthodes
class__init__self
class Personne:
    def __init__(self):
        self.nom = ""
        self.age = 0
    def se_presenter(self):
        print(f"Bonjour, {self.nom} ({self.age} ans)")

p = Personne()
p.nom = "Alice"
p.age = 25
p.se_presenter()
📤 Résultat : Bonjour, Alice (25 ans)
🐍 1️⃣2️⃣

Constructeur (__init__)

Initialise les attributs, valeurs par défaut
__init__self
class Etudiant:
    def __init__(self, nom="Inconnu", age=18):
        self.nom = nom
        self.age = age
e = Etudiant("Marie", 20)
print(e.nom, e.age)
📤 Résultat : Marie 20
🐍 1️⃣3️⃣

Encapsulation (propriétés)

Attributs privés __solde, getters/setters avec @property
@property@setterprivate
class Compte:
    def __init__(self, solde):
        self.__solde = solde
    @property
    def solde(self):
        return self.__solde
    def deposer(self, montant):
        if montant>0: self.__solde += montant
c = Compte(1000)
c.deposer(500)
print(c.solde)
📤 Résultat : 1500
🐍 1️⃣4️⃣

Héritage

Classe enfant hérite de la classe parent. super()
class Child(Parent)super()
class Animal:
    def parler(self): print("Bruit")
class Chien(Animal):
    def parler(self): print("Wouf !")

c = Chien()
c.parler()
📤 Résultat : Wouf !
🐍 1️⃣5️⃣

Polymorphisme

Même interface, comportements différents.
polymorphisme
animaux = [Chien(), Chat()]
for a in animaux:
    a.parler()
📤 Résultat : Wouf ! Miaou !

🔹 PARTIE 4 : CONCEPTS AVANCÉS (Cours 16-20)

🐍 1️⃣6️⃣

Classes abstraites (ABC)

Module abc, @abstractmethod
ABC@abstractmethod
from abc import ABC, abstractmethod
class Forme(ABC):
    @abstractmethod
    def aire(self): pass
class Cercle(Forme):
    def __init__(self, r): self.r = r
    def aire(self): return 3.14 * self.r**2
📤 Exemple : Cercle(5).aire() → 78.5
🐍 1️⃣7️⃣

Collections (list, dict, set)

Liste, dictionnaire, set : opérations courantes
listdictsetkeys/values
ages = {"Alice":25, "Bob":30}
print(ages["Bob"])
print(list(ages.keys()))
a = {1,2,3}; b = {3,4,5}
print(a & b)  # intersection
📤 Résultat : 30, ['Alice','Bob'], {3}
🐍 1️⃣8️⃣

Gestion des exceptions

try/except/else/finally
tryexceptfinally
try:
    x = int("abc")
except ValueError:
    print("Erreur de conversion")
finally:
    print("Terminé")
📤 Résultat : Erreur de conversion
Terminé
🐍 1️⃣9️⃣

Gestion des fichiers

open, modes "r", "w", "a", context manager with
openwith
with open("test.txt", "w") as f:
    f.write("Ligne 1\n")
with open("test.txt", "r") as f:
    print(f.read())
📤 Résultat : Ligne 1
🐍 2️⃣0️⃣

Récursivité

Fonction qui s'appelle elle-même (ex: factorielle, Fibonacci)
récursivitécas de base
def fact(n):
    return 1 if n<=1 else n * fact(n-1)
print(fact(5))
📤 Résultat : 120

📊 Comparaison Java vs Python

ConceptJavaPython
Variablesint x = 5;x = 5
AffichageSystem.out.println()print()
InputScanner.nextLine()input()
Conditionsif (x>0) { }if x > 0:
Boucle forfor (int i=0; i<10; i++)for i in range(10):
Fonctionspublic int add(int a)def add(a):
Classespublic class Nom { }class Nom:
Constructeurpublic Nom() { }def __init__(self):
Héritageclass Fille extends Mereclass Fille(Mere):
Tableaux/Listesint[] tab = new int[5]tab = []
DictionnairesHashMapdict = {}
Exceptionstry { } catch { }try: except:
Fichiersnew FileWriter()open("fichier", "r")
Commentaires// ou /* */#

🎯 Exercices recommandés

Calculatrice (+,-,*,/) Gestion d'étudiants (classes, héritage) Jeu de cartes (listes, POO) Bibliothèque (fichiers, exceptions) Récursivité (Tours de Hanoï) Web scraping (requests, BS4) API REST (Flask/FastAPI)

🚀 Spécificités Python

Avantages : syntaxe concise, typage dynamique, vaste bibliothèque standard, multi-paradigme, interprété.

Bonnes pratiques : respecter PEP8, docstrings, compréhensions de listes, with pour fichiers, f‑strings.


🐍 40 QCM Python

Sélectionnez une réponse et vérifiez

1 Quelle fonction affiche quelque chose à l'écran en Python ?
2 Lequel de ces types est immuable (non modifiable) ?
3 Que retourne l'expression `3 // 2` en Python ?
4 Comment convertir une chaîne "123" en entier ?
5 Quelle est la sortie de `print(2 ** 3)` ?
6 Quelle structure de contrôle permet d'exécuter un bloc plusieurs fois ?
7 Comment déclarer une fonction en Python ?
8 Quelle méthode ajoute un élément à la fin d'une liste ?
9 Quelle est la sortie de `len([1, 2, 3])` ?
10 Quelle instruction lit une entrée utilisateur ?
11 Quel mot-clé définit une classe en Python ?
12 Quel est le nom du constructeur d'une classe ?
13 En Python, comment indique-t-on un bloc de code ?
14 Quelle est la sortie de `type(3.14)` ?
15 Comment écrire un commentaire sur une seule ligne ?
16 Quelle fonction donne la longueur d'une chaîne ?
17 Que vaut `bool(0)` en Python ?
18 Quelle méthode lit une ligne depuis un fichier ?
19 Quelle est la sortie de `"a" + "b" * 2` ?
20 Comment importer le module math ?
21 Que fait `random.randint(1,10)` ?
22 Quel est le résultat de `5 % 2` ?
23 Quelle est la sortie de `list(range(3))` ?
24 Comment écrire une condition « a différent de b » ?
25 Que signifie `self` dans une méthode ?
26 Quelle instruction permet de quitter une boucle prématurément ?
27 Que fait l'instruction `continue` dans une boucle ?
28 Quelle est la sortie de `print(0.1 + 0.2 == 0.3)` ?
29 Quel opérateur teste l'appartenance à une séquence ?
30 Comment écrire une boucle qui parcourt une liste `fruits` ?
31 Que fait la méthode `pop()` sur une liste ?
32 Quelle exception est levée pour une division par zéro ?
33 Quel est le résultat de `sorted([3,1,2])` ?
34 Quelle fonction donne le nombre d'éléments d'une liste ?
35 Comment écrire un bloc `try` / `except` ?
36 Quelle est la sortie de `bool([])` ?
37 Quelle méthode transforme une chaîne en liste de mots ?
38 Que retourne `type({})` ?
39 Quel est le résultat de `3 * 'ab'` ?
40 Quelle fonction donne la valeur absolue ?

Aucun commentaire:

Enregistrer un commentaire