Programmation Python

Classe B3 ASO 2025-2026

Module 1

Introduction à la Programmation Python

À la fin de ce module, vous saurez expliquer les avantages de Python, installer un environnement complet, écrire vos premiers programmes et comprendre la structure d'un script professionnel.

1. Comprendre Python : Histoire et Écosystème

1.1 Genèse et Évolution

Python est né en 1991 aux Pays-Bas, créé par Guido van Rossum qui cherchait à développer un langage de programmation accessible et puissant. Ce qui distingue Python dès ses débuts, c'est sa philosophie unique résumée dans "La Zen de Python", un ensemble de principes guidant le développement du langage et favorisant la clarté et la simplicité. Au fil des années, Python a connu une évolution majeure avec le passage de Python 2 à Python 3, cette dernière version étant celle que nous utiliserons exclusivement dans ce cours. Le développement de Python est aujourd'hui supervisé par la Python Software Foundation, une organisation qui garantit que le langage reste open source et accessible à tous.

1.2 Pourquoi Python ?

Le choix de Python comme langage d'apprentissage n'est pas anodin. Sa syntaxe claire et intuitive en fait le langage idéal pour débuter la programmation, permettant aux débutants de se concentrer sur les concepts plutôt que sur des détails syntaxiques complexes. Python est remarquablement polyvalent : vous le retrouverez dans le développement web avec des frameworks comme Django, dans la science des données avec des bibliothèques comme pandas et NumPy, dans l'intelligence artificielle avec TensorFlow et PyTorch, et même dans l'automatisation de tâches quotidiennes.

Sur le plan professionnel, Python figure constamment parmi les langages les plus recherchés par les employeurs, offrant d'excellentes perspectives de carrière. L'écosystème Python est d'une richesse exceptionnelle avec PyPI (Python Package Index) qui héberge plus de 400 000 packages, permettant de résoudre pratiquement n'importe quel problème sans réinventer la roue.

1.3 Caractéristiques Techniques

Python possède plusieurs caractéristiques fondamentales qui le distinguent. Premièrement, c'est un langage interprété, ce qui signifie que votre code est exécuté ligne par ligne par un interpréteur. Cette caractéristique rend le développement plus rapide et le débogage plus facile.

Le typage dynamique de Python définit automatiquement les types de variables, rendant le code plus concis et flexible. Python est également multi-paradigme, permettant d'écrire du code procédural, orienté objet, ou fonctionnel.

La gestion automatique de la mémoire (garbage collection) libère le programmeur de la gestion manuelle de la mémoire. Enfin, Python est portable : un code écrit sur Windows fonctionnera sans modification sur macOS ou Linux.

2. Installation et Configuration de l'Environnement

2.1 Installation de Python

Pour Windows : Rendez-vous sur python.org et téléchargez la dernière version stable. Lors de l'installation, il est crucial de cocher l'option "Add Python to PATH". Une fois l'installation terminée, ouvrez l'invite de commande et tapez python --version.

Pour macOS et Linux : Python est souvent préinstallé. Pour vérifier, ouvrez un terminal et tapez python3 --version. Pour installer ou mettre à jour sur Ubuntu/Debian, utilisez :

sudo apt-get update sudo apt-get install python3 python3-pip

Sur macOS, l'utilisation de Homebrew avec brew install python3 est recommandée.

2.2 Choix de l'IDE

Un bon environnement de développement (IDE) est essentiel. Visual Studio Code (VS Code) est notre recommandation principale : gratuit, léger et extensible. PyCharm est plus complet pour des projets complexes. Jupyter Notebook excelle pour l'apprentissage interactif et la data science.

2.3 Configuration Minimale

Une fois votre IDE installé, installez l'extension Python pour bénéficier de la coloration syntaxique et de l'autocomplétion. Configurez un linter comme pylint ou flake8 qui analysera votre code. Enfin, vérifiez que pip, le gestionnaire de packages, est bien installé en tapant pip --version dans votre terminal.

3. Premiers Pas en Python

3.1 Structure d'un Programme Python

Un programme Python professionnel suit généralement une structure standardisée qui améliore la lisibilité et la maintenance du code. Voici la structure recommandée :

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Module : Introduction à Python Description : Premier programme Python structuré Auteur : Votre nom Date : 2024 """ # Importation des modules nécessaires import sys import datetime # Définition des constantes VERSION = "1.0" # Définition des fonctions def saluer(nom): """Fonction qui salue une personne avec l'heure actuelle""" heure = datetime.datetime.now().strftime("%H:%M") return f"Bonjour {nom}, il est {heure}" # Programme principal if __name__ == "__main__": print(f"Programme version {VERSION}") nom_utilisateur = input("Quel est votre nom ? ") message = saluer(nom_utilisateur) print(message)

Cette structure garantit que votre code est bien documenté et réutilisable. Le bloc if __name__ == "__main__": permet au code d'être importé comme module sans s'exécuter automatiquement.

3.2 Hello World et Variations

Le traditionnel "Hello, World!" est votre premier contact avec Python. Commençons par la version la plus simple :

# Version basique print("Hello, World!")

Explorons maintenant une version plus interactive qui utilise la fonction input() pour demander des informations à l'utilisateur :

# Version interactive nom = input("Quel est votre nom ? ") age = input("Quel est votre âge ? ") print(f"Bonjour {nom}, vous avez {age} ans!")

3.3 Modes d'Exécution de Python

Python offre plusieurs façons d'exécuter du code. Le mode interactif (REPL), lancé en tapant python dans le terminal, est parfait pour tester rapidement des idées. Le mode script consiste à écrire votre code dans un fichier .py puis à l'exécuter avec python nom_du_fichier.py. C'est le mode standard pour les programmes complets.

4. Exercices Pratiques

Exercice 1 : Configuration de l'Environnement

Votre première mission consiste à mettre en place votre environnement de développement. Installez Python 3.x, vérifiez l'installation, installez VS Code avec l'extension Python, et exécutez un fichier "premier_programme.py" contenant un simple print("Configuration réussie !").

Exercice 2 : Programme Interactif

Créez un programme presentation.py qui demande à l'utilisateur son prénom, son nom, son âge et sa ville. Le programme doit calculer l'année de naissance (approximative) et afficher un message de présentation formaté. Par exemple : "Bonjour Jean Dupont de Paris ! Vous êtes né(e) aux alentours de 1995."

Voir la solution
import datetime prenom = input("Quel est votre prénom ? ") nom = input("Quel est votre nom ? ") age_str = input("Quel est votre âge ? ") ville = input("Dans quelle ville habitez-vous ? ") # Conversion de l'âge en nombre et calcul de l'année age = int(age_str) annee_actuelle = datetime.date.today().year annee_naissance = annee_actuelle - age # Affichage du message formaté print(f"Bonjour {prenom} {nom} de {ville} ! Vous êtes né(e) aux alentours de {annee_naissance}.")

Exercice 3 : Mini-Projet - Assistant de Bienvenue

Développez un programme qui sert d'assistant de bienvenue. Il doit demander la langue (fr/en/es), le nom, et le statut (étudiant/professeur). Ensuite, il affiche un message de bienvenue personnalisé dans la langue choisie, ainsi que la date et l'heure actuelles.

Voir la solution
import datetime def obtenir_salutation(langue, nom, statut): salutations = { "fr": f"Bonjour {statut} {nom} !", "en": f"Hello {statut} {nom} !", "es": f"¡Hola {statut} {nom} !", } return salutations.get(langue, f"Hello {statut} {nom}!") if __name__ == "__main__": langue = input("Choisissez votre langue (fr/en/es): ") nom = input("Quel est votre nom ? ") statut = input("Quel est votre statut (étudiant/professeur) ? ") message = obtenir_salutation(langue, nom, statut) print(message) now = datetime.datetime.now() print(f"Date et heure actuelles : {now.strftime('%d/%m/%Y %H:%M:%S')}")

5. Points Clés à Retenir

  • Python est un langage interprété, portable et au typage dynamique.
  • La fonction print() affiche des informations, input() interagit avec l'utilisateur.
  • Les commentaires (#) sont essentiels pour documenter votre code.
  • La structure if __name__ == "__main__": est une convention cruciale pour rendre le code réutilisable.

6. Pour aller plus loin

Source: EvoluNoob