Cours Python By Niaina Nomenjanahary 2025
Formation Python 2025
Support de cours Python
Table des matières
1. Les bases de Python
2. Introduction
1. Historique
2. Aperçu
3. Syntaxe
3. Tour d'horizon du langage
1. Caractéristiques fondamentales
2. Environnement d'exécution
3. Écosystème et outils
4. Philosophie de conception
5. Forces et limites
1. Les bases de Python
1.1 Introduction
Python est un langage de programmation polyvalent, interprété et de haut niveau. Il a été conçu pour
être lisible et facile à apprendre, tout en étant puissant et expressif. Python est aujourd'hui l'un des
langages de programmation les plus populaires au monde, utilisé dans de nombreux domaines
comme le développement web, la data science, l'intelligence artificielle, l'automatisation, etc.
Le langage se distingue par sa philosophie de conception qui met l'accent sur la lisibilité du code et
sa syntaxe qui permet aux programmeurs d'exprimer des concepts en moins de lignes de code
qu'avec d'autres langages. Cette philosophie est résumée dans le "Zen de Python", un ensemble de
principes qui guide son développement.
Page 1 sur 9
Cours Python By Niaina Nomenjanahary 2025
1.1.1 Historique
Python a été créé par Guido van Rossum à la fin des années 1980 et a été rendu public pour la
première fois en 1991. Le nom "Python" a été inspiré par l'émission de télévision britannique "Monty
Python's Flying Circus", Guido étant fan de cette série comique.
Voici les étapes clés de l'évolution de Python :
• 1989 : Début du développement par Guido van Rossum au CWI (Centrum Wiskunde &
Informatica) aux Pays-Bas
• 1991 : Première version publique (Python 0.9.0)
• 1994 : Python 1.0 est lancé avec de nouvelles fonctionnalités comme lambda, filter, map et re‐
duce
• 2000 : Python 2.0 introduit des fonctionnalités majeures comme les compréhensions de liste et
le garbage collector
• 2008 : Python 3.0 est publié, avec des changements importants qui rompent la compatibilité
avec les versions précédentes
• 2010-2020 : Période de transition entre Python 2 et Python 3
• 2020 : Fin officielle du support pour Python 2
• Aujourd'hui : Python continue d'évoluer avec de nouvelles versions régulières apportant des
améliorations de performance et de nouvelles fonctionnalités
Guido van Rossum a été le "Benevolent Dictator For Life" (BDFL) du projet jusqu'en 2018, date à
laquelle il s'est retiré de ce rôle. Aujourd'hui, Python est géré par la Python Software Foundation et
une communauté active de développeurs.
1.1.2 Aperçu
Python est reconnu pour plusieurs caractéristiques qui en font un langage apprécié tant par les
débutants que par les développeurs expérimentés :
Forces de Python :
• Facilité d'apprentissage : Syntaxe claire et lisible qui ressemble presque à du pseudo-code
• Polyvalence : Utilisable dans de nombreux domaines (web, data science, IA, automatisation,
etc.)
• Grande communauté : Vaste écosystème de bibliothèques, frameworks et ressources
• Interprété : Pas besoin de compiler, ce qui facilite le développement et le débogage
• Multi-plateformes : Fonctionne sur Windows, macOS, Linux et autres systèmes
• "Batteries included" : Bibliothèque standard riche qui permet de réaliser de nombreuses
tâches sans modules externes
Page 2 sur 9
Cours Python By Niaina Nomenjanahary 2025
Domaines d'application :
• Développement web (Django, Flask, FastAPI)
• Data science et analyse de données (Pandas, NumPy)
• Intelligence artificielle et machine learning (TensorFlow, PyTorch, scikit-learn)
• Automatisation et scripting
• Applications de bureau (PyQt, Tkinter)
• Développement de jeux (Pygame)
• Traitement d'images et de données scientifiques
• DevOps et administration système
Python est régulièrement classé parmi les langages les plus populaires dans les sondages de déve‐
loppeurs, notamment en raison de sa versatilité et de sa courbe d'apprentissage accessible.
1.1.3 Syntaxe
La syntaxe de Python est l'une de ses caractéristiques les plus distinctives. Elle est conçue pour être
lisible et expressive.
Indentation et blocs de code :
Contrairement à de nombreux autres langages qui utilisent des accolades ou des mots-clés pour
délimiter les blocs de code, Python utilise l'indentation (généralement 4 espaces). Cela force une
présentation cohérente et lisible du code.
# Exemple de structure conditionnelle
if x > 0:
print("x est positif")
elif x == 0:
print("x est nul")
else:
print("x est négatif")
Variables et types de données :
Python est un langage à typage dynamique, ce qui signifie que vous n'avez pas besoin de déclarer le
type d'une variable.
# Déclaration de variables
nom = "Python" # chaîne de caractères (string)
age = 32 # entier (integer)
prix = 3.14 # nombre à virgule flottante (float)
est_actif = True # booléen (boolean)
Page 3 sur 9
Cours Python By Niaina Nomenjanahary 2025
Structures de données fondamentales :
Python propose plusieurs structures de données intégrées :
# Liste (mutable, ordonnée)
langages = ["Python", "Java", "JavaScript"]
# Tuple (immutable, ordonné)
coordonnees = (10, 20)
# Dictionnaire (paires clé-valeur)
personne = {"nom": "Durand", "prenom": "Jean", "age": 25}
# Ensemble (collection non ordonnée sans doublons)
couleurs = {"rouge", "vert", "bleu"}
Fonctions :
Définition et appel de fonctions simples :
# Définition d'une fonction
def saluer(nom):
return f"Bonjour, {nom} !"
# Appel de fonction
message = saluer("Monde")
print(message) # Affiche : Bonjour, Monde !
Commentaires :
# Ceci est un commentaire sur une ligne
"""
Ceci est un commentaire
sur plusieurs lignes
"""
Importation de modules :
Python permet d'organiser le code en modules réutilisables :
Page 4 sur 9
Cours Python By Niaina Nomenjanahary 2025
# Importer un module entier
import math
# Utiliser une fonction du module
rayon = 5
aire = [Link] * rayon**2
# Importer une fonction spécifique
from datetime import datetime
maintenant = [Link]()
# Importer avec un alias
import numpy as np
La syntaxe de Python est conçue pour être intuitive et minimiser le "bruit" syntaxique, ce qui permet
aux développeurs de se concentrer sur la résolution de problèmes plutôt que sur les détails de la
syntaxe du langage.
1.2 Tour d'horizon du langage
Python se distingue par plusieurs caractéristiques clés qui en font un langage à la fois puissant et
accessible. Voici un tour d'horizon de ses principales fonctionnalités et concepts.
1.2.1 Caractéristiques fondamentales
Langage interprété :
Python est un langage interprété, ce qui signifie que le code source est exécuté ligne par ligne par un
interpréteur. Cela offre une grande flexibilité et facilite le développement rapide d'applications.
# Vous pouvez exécuter Python interactivement
# Dans un terminal, tapez 'python' ou 'python3'
>>> print("Hello, world!")
Hello, world!
Typage dynamique :
Les variables en Python ne nécessitent pas de déclaration explicite de type. Le type est déterminé
automatiquement à l'exécution.
x = 10 # x est un entier
x = "maintenant une chaîne" # x est maintenant une chaîne
Page 5 sur 9
Cours Python By Niaina Nomenjanahary 2025
Gestion automatique de la mémoire :
Python dispose d'un ramasse-miettes (garbage collector) qui gère automatiquement l'allocation et la
libération de la mémoire.
Programmation multi-paradigmes :
Python supporte plusieurs paradigmes de programmation :
- Programmation impérative
- Programmation orientée objet
- Programmation fonctionnelle
- Programmation procédurale
1.2.2 Environnement d'exécution
L'interpréteur Python :
L'interpréteur Python est accessible en ligne de commande et offre un environnement interactif idéal
pour tester rapidement des idées ou apprendre le langage.
$ python3
Python 3.x.x (default, Month DD YYYY, HH:MM:SS)
[GCC x.x.x] on platform
Type "help", "copyright", "credits" or "license" for more information.
>>>
Scripts Python :
Pour des programmes plus complexes, on écrit généralement le code dans des fichiers .py qui
peuvent être exécutés par l'interpréteur.
$ python3 mon_script.py
Environnements virtuels :
Python permet de créer des environnements virtuels isolés pour gérer les dépendances spécifiques
à chaque projet.
$ python -m venv mon_env
$ source mon_env/bin/activate # Sur Unix/macOS
$ mon_env\Scripts\activate # Sur Windows
Page 6 sur 9
Cours Python By Niaina Nomenjanahary 2025
1.2.3 Écosystème et outils
Bibliothèque standard :
Python est livré avec une riche bibliothèque standard qui offre des modules pour de nombreuses
tâches courantes :
- Manipulation de fichiers et du système d'exploitation
- Communication réseau
- Interfaces graphiques
- Manipulation de données
- Tests unitaires
- Et bien plus encore
Gestionnaire de paquets :
pip est le gestionnaire de paquets officiel de Python qui permet d'installer facilement des
bibliothèques tierces.
$ pip install nom_package
PyPI (Python Package Index) :
PyPI est un référentiel de logiciels pour le langage de programmation Python, contenant plus de 400
000 paquets.
Outils de développement :
- IDEs : PyCharm, Visual Studio Code, Spyder
- Notebooks : Jupyter Notebook, Google Colab
- Outils de qualité de code : pylint, flake8, mypy
- Outils de test : pytest, unittest
1.2.4 Philosophie de conception
La philosophie de Python est résumée dans le "Zen de Python", accessible via la commande
import this dans l'interpréteur Python :
Page 7 sur 9
Cours Python By Niaina Nomenjanahary 2025
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Ces principes guident le développement du langage et encouragent l'écriture de code clair, lisible et
élégant.
1.2.5 Forces et limites
Forces :
- Facilité d'apprentissage et d'utilisation
- Grande productivité
- Portabilité
- Extensibilité (possibilité d'étendre avec des modules C/C++)
- Vaste écosystème de bibliothèques
- Communauté active et support
Limites :
- Performances d'exécution parfois moins rapides que les langages compilés
- GIL (Global Interpreter Lock) limitant l'exécution parallèle dans certains cas
- Consommation mémoire parfois élevée
- Moins adapté pour les applications mobiles natives
- Packaging et déploiement parfois complexes
Python continue d'évoluer pour adresser certaines de ces limitations, notamment avec des projets
comme PyPy (implémentation JIT plus rapide) et des efforts pour améliorer le multithreading.
Page 8 sur 9
Cours Python By Niaina Nomenjanahary 2025
Références et ressources
• Documentation officielle Python
• [Link]
• Python Software Foundation
• PEP 8 - Guide de style pour le code Python
Page 9 sur 9