Python : apprendre Python de A à Z

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

  1. Introduction à Python
  2. Les Bases de Python
  3. Structures de Données
  4. Fonctions et Modules
  5. Programmation Orientée Objet
  6. Gestion des Erreurs et Exceptions
  7. Fichiers et I/O
  8. Bibliothèques et Frameworks
  9. Développement Web avec Python
  10. Analyse de Données et Visualisation
  11. Automatisation et Scripts
  12. Projets Avancés
  13. 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

  1. Téléchargez l’installateur depuis le site officiel de Python.
  2. 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

  1. Installez Django :
pip install django
  1. Créez un projet Django :
django-admin startproject myproject
  1. 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.

Retour en haut