0% ont trouvé ce document utile (0 vote)
2 vues6 pages

Resumer B Python

Ce document est un résumé de cours sur le langage Python, couvrant la syntaxe de base, les structures de données, les fonctions, la programmation orientée objet, et des concepts avancés comme l'héritage et le polymorphisme. Il inclut également des règles de traduction entre Python et MATLAB, ainsi que des exemples de syntaxe pour les structures de contrôle et les opérations sur les vecteurs et matrices. Enfin, il aborde la déclaration des fonctions et les différences clés entre les deux langages.

Transféré par

elwass56
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues6 pages

Resumer B Python

Ce document est un résumé de cours sur le langage Python, couvrant la syntaxe de base, les structures de données, les fonctions, la programmation orientée objet, et des concepts avancés comme l'héritage et le polymorphisme. Il inclut également des règles de traduction entre Python et MATLAB, ainsi que des exemples de syntaxe pour les structures de contrôle et les opérations sur les vecteurs et matrices. Enfin, il aborde la déclaration des fonctions et les différences clés entre les deux langages.

Transféré par

elwass56
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Résumé de Cours : Langage Python

Spécialité : Modélisation et Algorithmique


Préparation à l’Examen – Session 2026

1. Syntaxe de Base et Opérateurs


1.1. Commentaires et Indentation
— Commentaires simples : On utilise le signe # pour une seule ligne.
— Commentaires multilignes : On utilise les triples guillemets ’’’ commentaire ’’’
ou """ commentaire """ [7].
— Indentation (faragh d l-space) : L’indentation en Python (généralement 4 es-
paces) est obligatoire pour définir les blocs de code (bhal f if ou for). Une mauvaise
indentation provoque une erreur de syntaxe [26].

1.2. Opérateurs Arithmétiques Speciaux


— // Division entière (9issma m3sora/sahiha) : Donne le quotient entier sans
virgule (ex : 10 // 4 donne 2) [10].
— % Modulo (baqi d l-9issma) : Donne le reste de la division entière (ex : 10 % 4
donne 2) [10].
— ** Exposant (l-os) : Calcule la puissance (ex : 3 ** 2 donne 9) [10].

2. Structures de Données (List, Tuple, Dict)


Cette section est le cœur classique des questions de cours d’examen :

2.1. Tableau Comparatif des Structures

Structure Syntaxe Caractéristiques Majeures


List (la-jora) [1, 2, 3] Ordonnée, modifiable (mbedla/mutable),
hétérogène (types mkhaltin) [3].
Tuple (jorzat constants) (1, 2, 3) Ordonné, non modifiable (la yomkin
ta3dilouh/immutable). Très rapide en mémoire
[2].
Dictionnaire (dict) {cle: valeur} Non ordonné (accès par clé unique), modifiable,
stockage par paires clé-valeur [3].

1
2.2. Affectation vs Copie de Liste
— Affectation directe (y = x) : Les deux variables pointent vers le même objet en
mémoire. Si on modifie y, x sera également modifié [12].
— Copie indépendante (y = [Link]()) : Crée un nouvel objet indépendant en mémoire.
La modification de y n’impacte pas x [12].

3. Fonctions, Arguments et Fichiers


3.1. Arguments Variables (*args et **kwargs)
— *args (arguments variables) : Permet de passer un nombre indéterminé d’argu-
ments positionnels sous forme de tuple [16].
— **kwargs (keyword arguments) : Permet de passer un nombre indéterminé d’ar-
guments nommés sous forme de dictionnaire [17].

3.2. Fonction Lambda (Dala anonyme)


Une fonction lambda est une fonction anonyme (dala majhoula) écrite en une seule ligne
avec la syntaxe : lambda arguments: expression (ex : double = lambda x: x * 2) [15].

3.3. Gestion de Fichiers (Modes d’ouverture)


— Mode ’r’ (lecture/9raya) : Ouvre le fichier pour lire son contenu. Erreur si le
fichier n’existe pas [8].
— Mode ’w’ (écriture/ktaba) : Ouvre en écriture. Écrase (m7i) tout le contenu exis-
tant ou crée le fichier s’il n’existe pas [8].
— Mode ’a’ (ajout/zyada) : Ouvre pour ajouter du texte à la fin du fichier sans
effacer l’existant [8, 10].

4. Calcul Scientifique (NumPy & Matplotlib)


0.1 4.1. Différence Majeure : List vs NumPy Array
— List classique : Hétérogène (types différents admis), taille dynamique (modifiable
facilement) [3].
— NumPy Array (ndarray) : Strictement homogène (tous les éléments ont le même
type), taille fixe à la création, optimisé mathématiquement pour le calcul rapide (al-
7issabat al-masfoufya) [7].

4.2. Matplotlib – Représentation Graphique


— [Link](nrows, ncols) : Permet de créer une grille de sous-graphiques (axes)
dans une seule figure [19].
— Échelles de tracé : [Link]() (linéaire), semilogy() (axe Y logarithmique), semilogx()
(axe X logarithmique), loglog() (les deux axes logarithmiques) [21, 22].

2
1. Bases de la POO (Kayanat)
La POO (Programmation Orientée Objet / Mowajjah l l-Kayanat) est un paradigme qui
regroupe les données et les fonctions dans des entités appelées objets [11].
— Classe (class) : Le modèle ou plan de construction (t-tsmim / l-gabarit) qui définit
les attributs et les méthodes [12].
— Objet / Instance (Instance) : Une représentation concrète (nmoudaj l-waqi3i)
créée à partir d’une classe [15].
— Constructeur ( init ) : Méthode spéciale appelée automatiquement lors de la
création d’un objet pour initialiser ses attributs [22].
— self : Mot-clé représentant l’instance actuelle de l’objet (l-mochira l l-objet l-7ali)
[20, 21].

2. Concepts Avancés : Héritage et Polymorphisme


2.1. Héritage (l-irt / l-heritage)
L’héritage permet de créer une classe fille (classe dérivée) à partir d’une classe mère (classe
de base) pour réutiliser et spécialiser le code [5] :
— super() : Fonction spéciale pour appeler le constructeur ou les méthodes de la classe
mère sans citer son nom [8].
— Héritage Multiple (Heritage ta3addoudi) : Une classe fille qui hérite de plusieurs
classes mères en même temps (ex : class Enfant(Mere1, Mere2)) [15].
— MRO (Method Resolution Order) : L’ordre exact que Python utilise pour cher-
cher les méthodes héritées lors d’un appel [16, 19].

0.2 2.2. Polymorphisme (ta3addod al-achkal)


Le polymorphisme permet à des classes différentes d’avoir une méthode portant le même
nom mais avec des comportements différents (ex : [Link]() fait ”Waf” et [Link]()
fait ”Miaou”) [2, 4].

3. Encapsulation (ta3lib / taghlif ) et Abstraction


3.1. Les 3 Niveaux d’Accès aux Attributs

Niveau d’Accès Syntaxe Description (Visibilité f l-code)


Public [Link] Accessible partout à l’extérieur de la classe [9].
Protégé (Protected) self. nom Un seul underscore. Réservé par convention à la classe et
ses sous-classes [10].
Privé (Private) self. nom Double underscore. Invisible à l’extérieur (mécanisme de
Name Mangling) [11].

3
3.2. Accesseurs (Getters), Mutateurs (Setters) et @property
— Accesseur / Getter (l-9ari) : Méthode pour lire la valeur d’un attribut privé [13,
14].
— Mutateur / Setter (l-mbedel) : Méthode pour modifier de manière contrôlée la
valeur d’un attribut privé (avec vérification) [13, 15].
— Décorateur @property : Permet d’utiliser les méthodes Getters et Setters de manière
naturelle comme s’il s’agissait d’attributs publics [16].

3.3. Abstraction (al-tajrid)


Une classe abstraite est une classe incomplète (la yomkin instanciation dyalha direct)
qui sert de cadre obligatoire pour ses classes filles. Elle nécessite l’importation du module
abc [9, 11] :

from abc import ABC, abstractmethod

4. Variable Spéciale et Importation de Modules


4.1. Le bloc if name == " main ":
— name : Variable spéciale de Python [12].
— " main " : Si le fichier est exécuté directement, name prend la valeur " main ".
S’il est importé, il prend le nom du fichier [12].
— Utilité du bloc : Permet de lancer des tests ou des démonstrations uniquement si le
script est exécuté directement, sans les lancer s’il est importé ailleurs [12].

4.2. Importation de Module (t-khlat d les fichiers .py)


— import mon module : Importation classique [16].
— from mon module import somme : Importer uniquement un élément [16].
— import mon module as md : Renommer avec un alias (raccourci) [17].

4
Fiche de Traduction : Algorithme / Python → MATLAB Spécialité : Modélisation
et Calcul Scientifique Préparation à l’Examen – Session 2026

1. Règles d’Or de Traduction (9awa3id l-asasiya)


— L-Index (mouftah l-blassa) : F Python, l-indexation kat-bda b 0 [21]. F MATLAB,
kat-bda b 1 (Erreur classique f l-exam !) [19, 21].
— Fin d bloc (nihayat l-bloc) : F Python, on utilise l’indentation (space f l-bdaya)
[26]. F MATLAB, chaque bloc (if, for, while, function) doit obligatoirement se
terminer par end [10, 27].
— L-Affichage (ktaba f l-ecran) : F Python, on utilise print() [25]. F MATLAB, on
utilise disp() ou simplement on enlève le point-virgule ; à la fin de la ligne [6, 16].

2. Structures de Contrôle (If, Loops)

Algorithme (Pseudo-code) Syntaxe Python Syntaxe MATLAB


Si cond Alors if cond: if cond
... ... ...
SinonSi cond2 Alors elif cond2: elseif cond2
... ... ...
Sinon else: else
... ... ...
FinSi end [27]
Tant que cond Faire while cond: while cond
... ... ...
FinTantQue end [28]
Pour i de start à end Faire for i in range(start, for i = start:end
... end+1): ...
FinPour ... end [30]

5
3. Vecteurs et Matrices (Mawa9i3 l-A3dad)

Opération En Python (NumPy) En MATLAB


Vecteur ligne (sater) v = [Link]([1, 2, 3]) v = [1, 2, 3] (ou v = [1
2 3]) [17]
Vecteur colonne (7asout) v = [Link]([[1], [2], v = [1; 2; 3] (point-
[3]]) virgule) [17]
Génération de suite [Link](start, end+1, start:step:end (step au mi-
step) lieu !) [18]
Intervalle régulier [Link](start, end, linspace(start, end,
num) num) [19]
Taille d’un vecteur len(v) length(v) (ou numel(v))
[20, 27]
Dimensions d’une matrice [Link] size(A) [24]
Sous-matrice / Tranche A[0:2, 1:3] A(1:2, 2:3) (1-indexed !)
[23]
Transposée (m9loob) A.T A’ (ou transpose(A)) [18]
Inverse de matrice [Link](A) inv(A) [22]
Multiplication de matrices A @ B A * B [22]
Élément par élément (.*) A * B A .* B (très important !) [26]
Puissance élément par élém. A ** 2 A .^ 2 (point avant l’expo-
sant) [26]
Matrice unitaire [Link](3) eye(3) [25]
Matrice de zéros [Link]((m, n)) zeros(m, n) [25]

4. Déclaration des Fonctions ([Link])


F MATLAB, la fonction doit obligatoirement être enregistrée dans un fichier portant
exactement le même nom avec l’extension .m [10] :

Exemple : Fonction de calcul Somme et Produit


En Python : En MATLAB (somme produit.m) :

def somme_produit(x, y): function [a, b] = somme_produit(x, y)


a = x + y a = x + y;
b = x * y b = x * y;
return a, b end

Vous aimerez peut-être aussi