Cours Complet de Python
Ce cours complet de Python couvre tous les aspects du langage, depuis les bases jusqu’aux concepts avancés. Vous trouverez des explications détaillées, des exemples de code, des illustrations descriptives, ainsi que des liens externes et internes pour approfondir vos connaissances.
Table des Matières
- Introduction à Python
- Les Bases de Python
- Structures de Données
- Fonctions et Modules
- Programmation Orientée Objet
- Gestion des Erreurs et Exceptions
- Fichiers et I/O
- Bibliothèques et Frameworks
- Développement Web avec Python
- Analyse de Données et Visualisation
- Automatisation et Scripts
- Projets Avancés
- Ressources et Références
Introduction à Python
Qu’est-ce que Python ?
Python est un langage de programmation de haut niveau, interprété et orienté objet, connu pour sa syntaxe claire et sa lisibilité. Il est utilisé dans divers domaines, allant du développement web à l’analyse de données.
Historique de Python
Créé par Guido van Rossum et lancé en 1991, Python a évolué pour devenir l’un des langages les plus populaires grâce à sa simplicité et sa puissance.
Installation de Python
- Téléchargez l’installateur depuis le site officiel de Python.
- Exécutez l’installateur et suivez les instructions pour terminer l’installation.
Image 1 : Capture d’écran de la page de téléchargement de Python.
Votre Premier Programme Python
Créez un fichier hello.py avec le code suivant :
print("Hello, World!")
Exécutez-le via le terminal :
python hello.py
Image 2 : Capture d’écran de l’exécution du programme Hello World.
Les Bases de Python
Syntaxe et Structure
La syntaxe Python est simple, utilisant l’indentation pour structurer le code. Les commentaires sont ajoutés avec #.
# Ceci est un commentaire
print("Bonjour, Monde!")
Variables et Types de Données
Python est un langage à typage dynamique :
x = 5 # Entier
y = 3.14 # Flottant
s = "Python" # Chaîne de caractères
b = True # Booléen
Opérateurs
Python prend en charge plusieurs types d’opérateurs :
a = 10
b = 5
print(a + b) # Addition
print(a > b) # Comparaison
print(a == b) # Comparaison
print(a and b) # Logique
Image 3 : Tableau des opérateurs en Python.
Contrôles de Flux
- Conditionnelles :
if a > b:
print("a est plus grand que b")
elif a < b:
print("a est plus petit que b")
else:
print("a est égal à b")
- Boucles :
for i in range(5):
print(i)
while a > b:
a -= 1
print(a)
Structures de Données
Listes
Les listes sont des collections ordonnées modifiables :
fruits = ["pomme", "banane", "cerise"]
print(fruits[0]) # Accéder au premier élément
fruits.append("orange") # Ajouter un élément
Tuples
Les tuples sont des collections ordonnées immuables :
dimensions = (20, 30, 40)
print(dimensions[1])
Dictionnaires
Les dictionnaires sont des collections de paires clé-valeur :
personne = {"nom": "Alice", "âge": 30}
print(personne["nom"]) # Accéder à la valeur associée à la clé "nom"
Ensembles
Les ensembles sont des collections non ordonnées d’éléments uniques :
nombres = {1, 2, 3, 4}
nombres.add(5)
print(nombres)
Image 4 : Diagramme des structures de données en Python.
Fonctions et Modules
Définition de Fonctions
Les fonctions permettent de regrouper du code réutilisable :
def saluer(nom):
return f"Bonjour, {nom}!"
print(saluer("Alice"))
Modules
Les modules permettent de diviser le code en plusieurs fichiers :
# dans monmodule.py
def addition(x, y):
return x + y
# dans main.py
import monmodule
print(monmodule.addition(2, 3))
Packages
Les packages sont des collections de modules :
mynpackage/
__init__.py
module1.py
module2.py
Programmation Orientée Objet
Classes et Objets
Les classes définissent des structures de données et les objets sont des instances de ces classes :
class Personne:
def __init__(self, nom, age):
self.nom = nom
self.age = age
def saluer(self):
return f"Bonjour, je suis {self.nom} et j'ai {self.age} ans."
personne = Personne("Alice", 30)
print(personne.saluer())
Héritage
L’héritage permet à une classe de dériver d’une autre classe :
class Employe(Personne):
def __init__(self, nom, age, entreprise):
super().__init__(nom, age)
self.entreprise = entreprise
def saluer(self):
return f"Bonjour, je suis {self.nom} et je travaille chez {self.entreprise}."
Polymorphisme
Le polymorphisme permet d’utiliser une interface commune pour des types différents :
def afficher_message(obj):
print(obj.saluer())
Gestion des Erreurs et Exceptions
Les Exceptions en Python
Les exceptions permettent de gérer les erreurs pendant l’exécution :
try:
x = 1 / 0
except ZeroDivisionError:
print("Erreur : Division par zéro")
finally:
print("Bloc finally exécuté")
Création d’Exceptions Personnalisées
Vous pouvez créer vos propres exceptions en dérivant de Exception :
class MonException(Exception):
pass
try:
raise MonException("Une erreur personnalisée s'est produite")
except MonException as e:
print(e)
Fichiers et I/O
Lecture de Fichiers
Lire le contenu d’un fichier est simple avec Python :
with open("fichier.txt", "r") as file:
contenu = file.read()
print(contenu)
Écriture dans des Fichiers
Vous pouvez écrire dans des fichiers :
with open("fichier.txt", "w") as file:
file.write("Bonjour, Monde!")
Traitement de Fichiers CSV
Utilisez le module csv pour manipuler des fichiers CSV :
import csv
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
Bibliothèques et Frameworks
NumPy
NumPy est utilisé pour le calcul numérique :
import numpy as np
arr = np.array([1, 2, 3])
print(arr.mean())
Pandas
Pandas est utilisé pour l’analyse des données :
import pandas as pd
df = pd.read_csv("data.csv")
print(df.head())
Matplotlib
Matplotlib permet de créer des graphiques :
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.title('My Plot')
plt.show()
Image 5 : Exemple de graphique créé avec Matplotlib.
Développement Web avec Python
Introduction à Flask
Flask est un micro-framework léger pour le développement web en Python. Il permet de créer rapidement des applications web avec un minimum de configuration.
Exemple de Code avec Flask
Créez un fichier app.py :
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)
Lancez l’application :
python app.py
Image 6 : Capture d’écran de l’application Flask en cours d’exécution.
Introduction à Django
Django est un framework web complet pour le développement de sites web robustes.
Exemple de Code avec Django
- Installez Django :
pip install django
- Créez un projet Django :
django-admin startproject myproject
- Lancez le serveur de développement :
cd myproject
python manage.py runserver
Image 7 : Capture d’écran de l’application Django en cours d’exécution.
Analyse de Données et Visualisation
Introduction à NumPy
NumPy est une bibliothèque pour le calcul scientifique.
Exemple de Code NumPy
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("Moyenne : ", arr.mean())
print("Écart type : ", arr.std())
Introduction à Pandas
Pandas est utilisé pour la manipulation et l’analyse des données.
Exemple de Code Pandas
import pandas as pd
data = {'Nom': ['Alice', 'Bob', 'Charlie'], 'Âge': [25, 30, 35]}
df = pd.DataFrame(data)
print(df)
Visualisation avec Matplotlib
Matplotlib permet de créer des graphiques.
Exemple de Code Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 35]
plt.plot(x, y)
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.title('My Plot')
plt.show()
Image 8 : Exemple de graphique créé avec Matplotlib.
Automatisation et Scripts
Automatisation des Tâches
Python peut automatiser de nombreuses tâches répétitives.
Exemple de Script d’Automatisation
import os
def renommer_fichiers(dossier, prefixe):
for count, filename in enumerate(os.listdir(dossier)):
dst = f"{prefixe}_{str(count)}.txt"
src = f"{dossier}/{filename}"
dst = f"{dossier}/{dst}"
os.rename(src, dst)
renommer_fichiers('/path/to/dossier', 'prefixe')
Utilisation de Crontab pour l’Automatisation
Sous Unix, vous pouvez utiliser crontab pour planifier des scripts Python.
Exemple de Configuration Crontab
crontab -e
Ajoutez la ligne suivante pour exécuter un script Python toutes les heures :
0 * * * * /usr/bin/python3 /path/to/script.py
Projets Avancés
Analyse des Sentiments avec NLTK
NLTK est une bibliothèque pour le traitement du langage naturel.
Exemple de Code NLTK
import nltk
from nltk.sentiment.vader import SentimentIntensityAnalyzer
nltk.download('vader_lexicon')
sia = SentimentIntensityAnalyzer()
print(sia.polarity_scores("This is a great course!"))
Développement d’une API REST avec Flask
Créez une API RESTful avec Flask pour gérer des données.
Exemple de Code API REST
from flask import Flask, jsonify, request
app = Flask(__name__)
data = {'message': 'Hello, World!'}
@app.route('/api', methods=['GET'])
def get_data():
return jsonify(data)
@app.route('/api', methods=['POST'])
def update_data():
data['message'] = request.json['message']
return jsonify(data)
if __name__ == '__main__':
app.run(debug=True)
Ressources et Références
Documentation Officielle de Python
Tutoriels et Cours en Ligne
Livres Recommandés
- « Automate the Boring Stuff with Python » par Al Sweigart
- « Python Crash Course » par Eric Matthes
Communautés et Forums
Ce cours complet de Python couvre un large éventail de sujets, des bases du langage aux applications avancées. Avec des exemples de code clairs et des explications détaillées, vous serez bien équipé pour maîtriser Python et l’utiliser dans divers projets. N’oubliez pas de consulter les ressources et références pour approfondir vos connaissances et rester à jour avec les dernières avancées dans le monde de Python.


