Syntaxe et objets de Base Python
Syntaxe de Base et Concepts Fondamentaux en Python
Section 1.1 : Les Bases de la Syntaxe Python
La syntaxe de Python est conçue pour être lisible et concise. Comprendre ses particularités peut vous aider à écrire du code plus efficace et expressif.
Expressions et Indentations
Expressions : En Python, chaque ligne de code est généralement une expression, par exemple
a = 5
ouprint(a)
.Indentations : Python utilise l’indentation pour définir des blocs de code. Contrairement à d’autres langages qui utilisent des accolades, l’indentation en Python n’est pas seulement pour la lisibilité mais est syntaxiquement significative.
Commentaires
- En Python, les commentaires commencent par
#
. Tout ce qui suit#
sur la ligne est ignoré par l’interpréteur.
- NB: L’utilisation du # est utilisé dans de nombreux langages de programmation, comme le C, le C++, le Java, le PHP, le Perl, le Ruby, le Python, etc. pour définir les commentaires
Types de Données Primitifs
- Nombres : Python supporte
int
,float
, et plus rarement utilisés,complex
. - Chaînes de Caractères : Déclarées avec des guillemets simples
'texte'
ou doubles"texte"
. Le+
peut concaténer des chaînes. - Booléens :
True
etFalse
. Intéressant, en Python,0
,None
, un string vide''
, et les collections vides comme[]
,{}
sont considérés comme équivalents àFalse
.
Section 1.2 : Variables et Opérateurs
Les variables en Python sont des identificateurs liés à des valeurs. Elles ne nécessitent pas de déclaration explicite de type.
Déclaration de Variables et Conventions de Nommage
Les noms de variables doivent commencer par une lettre ou un underscore
_
, suivis de lettres, chiffres, ou underscores.Les conventions de nommage courantes incluent
snake_case
pour les variables et fonctions,CamelCase
pour les classes.
Opérateurs Arithmétiques et de Comparaison
- Python offre une gamme complète d’opérateurs arithmétiques (
+
,-
,*
,/
,//
pour la division entière,%
pour le modulo,**
pour la puissance) et de comparaison (==
,!=
,>
,<
,>=
,<=
).
Opérateurs Logiques
- Les opérateurs logiques incluent
and
,or
, etnot
.
Opérateurs Spéciaux
- Opérateurs Bitwise : Opèrent sur des bits et incluent
&
(ET),|
(OU),^
(XOR),~
(NON),<<
(décalage à gauche),>>
(décalage à droite). - Opérateur d’Identité :
is
etis not
vérifient si deux variables pointent vers le même objet. - Opérateur d’Appartenance :
in
etnot in
vérifient si une valeur est présente dans une séquence.
Section 1.3 : Structures de Contrôle
Les structures de contrôle en Python permettent d’exécuter conditionnellement des blocs de code ou de répéter des opérations.
Instructions Conditionnelles
if
,else
,elif
permettent d’exécuter des blocs de code basés sur des conditions.
Boucles
Boucle For : Itère sur une séquence (comme une liste, un tuple, un dictionnaire, un ensemble, ou une chaîne de caractères).
Boucle While : Continue à exécuter un bloc de code tant qu’une condition est vraie.
Compréhensions de Liste
- Une façon concise de créer des listes. Par exemple,
[x for x in range(10)]
crée une liste des nombres de 0 à 9.
Section 1.4 : Gestion des Erreurs et Exceptions
La gestion des erreurs est cruciale pour écrire des applications robustes. Python fournit un mécanisme de gestion des exceptions pour gérer les erreurs de manière contrôlée.
Try-Except Blocks
Un bloc
try
permet de tester un bloc de code pour les erreurs, et le blocexcept
permet de gérer l’erreur.
Gestion de Plusieurs Exceptions :
Vous pouvez spécifier plusieurs blocs except
pour gérer différentes exceptions.
Bloc Finally :
Le bloc finally
est facultatif et exécuté quel que soit le résultat des blocs try
et except
.
Section 1.5 : Exemple Concret Mélangeant les Concepts
Voyons comment on peut combiner les concepts abordés précédemment dans un exemple pratique. Cet exemple utilise une boucle while
, une instruction conditionnelle if
, et gère une éventuelle exception.
Exemple Pratique : Boucle et Conditions
Imaginons un scénario où nous avons deux variables x
et y
. Nous voulons exécuter une boucle qui continue tant que la somme de x
et y
est supérieure à 8. Dans la boucle, nous effectuons une opération qui peut potentiellement lever une exception.
Dans cet exemple, la boucle while
continue de s’exécuter tant que la condition x + y > 8
est vraie. Si x
est impair, le code essaie de diviser par zéro, ce qui lève une ZeroDivisionError
. Dans ce cas, le message d’erreur est imprimé, et le mot-clé break
interrompt la boucle. Le bloc finally
est exécuté après chaque itération, peu importe les erreurs.
Section 1.6 : Structures de Données de Base - Listes et Tuples
Python offre plusieurs structures de données intégrées, comme les listes et les tuples, qui sont essentielles pour le stockage et la manipulation de données.
Listes
Les listes en Python sont des collections ordonnées et modifiables. Elles peuvent contenir des éléments de différents types.
Opérations de Base sur les Listes :
- Ajout d’éléments (
append
,extend
). - Suppression d’éléments (
remove
,pop
). - Accès et slicing (
ma_liste[0]
,ma_liste[1:3]
).
- Ajout d’éléments (
Tuples
Les tuples sont similaires aux listes, mais ils sont immuables (leurs valeurs ne peuvent pas être modifiées après leur création).
Utilisés pour des données qui ne doivent pas être modifiées, comme les clés dans les dictionnaires.
Section 1.7 : Structures de Données de Base - Dictionnaires et Ensembles
Les dictionnaires et les ensembles sont des structures de données puissantes pour stocker et gérer des ensembles de données.
Dictionnaires
Les dictionnaires stockent des paires clé-valeur. Ils sont mutables et non ordonnés.
Manipulation de Dictionnaires :
- Ajout et modification d’éléments (
mon_dictionnaire["nom"] = "Bob"
). - Suppression d’éléments (
del mon_dictionnaire["age"]
,mon_dictionnaire.pop("langage")
). - Accès sécurisé (
get
).
- Ajout et modification d’éléments (
Ensembles
Les ensembles sont des collections non ordonnées de valeurs uniques. Utiles pour les opérations mathématiques comme les unions, intersections, et différences.
Opérations sur les Ensembles :
- Ajout (
add
) et suppression (remove
) d’éléments. - Opérations comme
union
,intersection
, etdifference
.
- Ajout (
Section 1.8 : Exemple Pratique Mélangeant les Structures de Données
Voyons comment combiner listes, tuples, dictionnaires et ensembles dans un exemple pratique.
Exemple de Manipulation de Structures de Données
Supposons que nous avons une liste de tuples, chaque tuple contenant le nom d’un étudiant et son score. Nous voulons créer un dictionnaire où chaque clé est un score unique, et la valeur est la liste des noms d’étudiants ayant ce score.
Dans cet exemple, nous parcourons la liste etudiants
. Pour chaque tuple, nous vérifions si le score est déjà une clé dans le dictionnaire scores
. Si ce n’est pas le cas, nous ajoutons une nouvelle clé avec le score et initialisons sa valeur avec une liste contenant le nom de l’étudiant. Si le score existe déjà, nous ajoutons simplement le nom de l’étudiant à la liste correspondante.
Section 1.9 : Compréhensions de Liste, de Dictionnaire et d’Ensemble
Les compréhensions en Python sont un moyen concis et puissant de créer de nouvelles listes, dictionnaires ou ensembles à partir de séquences ou d’autres structures itérables.
Compréhensions de Liste
Les compréhensions de liste fournissent une façon concise de créer des listes. Elles consistent en une expression suivie par une clause
for
, puis zéro ou plusieurs clausesfor
ouif
.
Compréhensions de Dictionnaire
Semblables aux compréhensions de liste, mais créent des dictionnaires. Elles sont entourées de
{}
avec une paire clé-valeur suivie d’une clausefor
.
Compréhensions d’Ensemble
Utilisées pour créer des ensembles de manière similaire aux compréhensions de liste, mais avec des éléments uniques.
Section 1.10 : Exemple Concret Utilisant les Compréhensions
Les compréhensions peuvent être particulièrement utiles pour transformer et filtrer des données. Voici un exemple qui utilise des compréhensions de liste et de dictionnaire pour traiter des données.
Exemple Pratique : Transformation de Données
Imaginons que nous avons une liste de mots et que nous voulons créer un dictionnaire qui associe chaque mot à sa longueur, mais seulement pour les mots de plus de trois lettres.
Dans cet exemple, la compréhension de dictionnaire parcourt la liste mots
, incluant uniquement les mots dont la longueur dépasse trois lettres. Pour chaque mot éligible, le dictionnaire longueur_mots
est construit avec le mot comme clé et sa longueur comme valeur.
Section 1.11 : Opérateurs Ternaires et Expressions Lambda
Les opérateurs ternaires et les expressions lambda en Python offrent des moyens concis d’effectuer des opérations conditionnelles et de créer de petites fonctions anonymes.
Opérateurs Ternaires
Les opérateurs ternaires permettent d’écrire des instructions conditionnelles en une seule ligne. La syntaxe est :
[valeur_si_vrai] if [condition] else [valeur_si_faux]
.
Expressions Lambda
Les expressions lambda permettent de créer de petites fonctions anonymes. Elles sont utiles pour des opérations simples nécessitant une fonction.
Section 1.12 : Techniques Avancées de Manipulation de Séquences
Python fournit des outils puissants pour manipuler des listes, des tuples et d’autres séquences de manière expressive.
Slicing Avancé
Le slicing permet de sélectionner des sous-parties d’une séquence. En plus des bases, Python permet des slicings plus complexes.
Listes et Dictionnaires Imbriqués
Les listes et dictionnaires peuvent être imbriqués pour créer des structures de données complexes.
Section 1.13 : Exemple Pratique Combinant Plusieurs Concepts
Pour conclure ce chapitre, combinons plusieurs des concepts abordés dans un exemple illustrant leur utilité pratique.
Exemple : Filtrage et Transformation de Données
Supposons que nous avons une liste de dictionnaires représentant des livres, et nous voulons extraire les titres des livres publiés après 2000.
Dans cet exemple, une compréhension de liste est utilisée pour parcourir livres
, en extrayant le titre
de chaque livre dont l’année
est supérieure à 2000. Cela démontre comment les compréhensions de liste peuvent être utilisées pour filtrer et transformer des données de manière concise et lisible. ```
Pour vous entrainez à pratiquer ces notions: