Python est aujourd’hui l’un des langages les plus demandés, aussi bien en développement web qu’en data science, automatisation ou DevOps. Cette formation d’initiation vous fournit les bases solides pour écrire du code Python structuré avec des fonctions, des classes et des modules. Vous serez opérationnel pour aborder ensuite les spécialisations Python (data science, web scraping, sécurité). Le programme est aligné sur le niveau Opérationnel (551-725) du référentiel TOSA Python.
Public visé
Développeurs ayant une connaissance d’un langage de programmation existant.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Identifier les cas d’usage courants de Python
- Appliquer les techniques de scripting en Python
- Gérer les erreurs d’exécution avec le mécanisme d’exceptions
- Lire et écrire des données dans des formats standards (CSV, JSON, pickle)
- Organiser le code avec des fonctions, classes et modules
- Exploiter les modules existants
- Isoler les dépendances d’un projet avec des environnements virtuels
- Implémenter la programmation orientée objet en Python
- Déboguer un programme Python
Programme
Jour 1
Introduction
- situer Python dans l’écosystème
- historique et philosophie du langage
- champs d’application — scripting, web, data, DevOps
- langage interprété à typage fort dynamique
- préparer l’environnement de travail
- versions, architectures et plateformes
- éditeurs et IDE — PyCharm, VS Code, IDLE
- installation et configuration
- respecter la convention de codage PEP 8
Travaux pratiques :
- Acquisition de l’environnement de développement
- Configuration de l’installation
Programme type
- exécuter un programme Python
- programme minimal et point d’entrée
- lancement et passage d’arguments
- REPL et console interactive
- comprendre les versions compilées —
.py,.pyc
Travaux pratiques :
- Écriture d’un premier programme de base Python
- Échange avec la console
Types de base
- manipuler les types primitifs
- nombres —
int,float,complex - booléens et
None - chaînes —
str, indexation, slicing
- nombres —
- maîtriser les conversions et le casting
- utiliser les types agrégés
- tuples immuables
- listes mutables
- ensembles —
set,frozenset - dictionnaires —
dict
- exploiter les fonctions usuelles —
len,min,max,sorted
Travaux pratiques :
- Travail sur les types de variable en Python
- Ajout de tableaux et manipulation de ceux-ci
- Application des fonctions
len,min,maxetsortedsur les types agrégés - Tri d’une collection de données par critère
Jour 2
Les instructions de base
- structurer le code
- commentaires sur une ligne
# - blocs et indentation significative
- commentaires sur une ligne
- utiliser les opérateurs
- affectation
- arithmétique
- logiques et relationnels
- gérer entrées et sorties —
input,print, formatage - écrire des structures de contrôle
- conditionnelle
if/elif/else - directive
matchpour le pattern matching - boucles
while,for,range breaketcontinue
- conditionnelle
- gérer les exceptions
- hiérarchie d’exceptions
- groupes d’exceptions
- notes d’exceptions
- importer et utiliser des modules
Travaux pratiques :
- Suite du travail sur le programme Python
- Utilisation des structures de contrôle
- Ajout de la gestion des exceptions et compréhension des modules
Compréhensions
- écrire des compréhensions
- liste en compréhension
- dictionnaire en compréhension
- ensemble en compréhension
Travaux pratiques :
- Construction d’une liste en compréhension filtrée
- Transformation d’une liste vers un dictionnaire en compréhension
- Construction d’un ensemble en compréhension à partir d’une source de données
Procédures et fonctions
- définir et appeler des fonctions —
def, arguments, valeur de retour - typer les signatures avec les annotations (type hints)
- paramétrer les fonctions
- arguments par défaut
*argspour arguments variadiques positionnels**kwargspour arguments variadiques nommés
- écrire des fonctions lambda
- gérer les variables globales avec l’instruction
global - documenter avec docstrings (PEP 257)
Travaux pratiques :
- Définition et exploitation de nouvelles fonctions avec passage de paramètres et types de retour
- Écriture de fonctions lambda
- Annotation d’une fonction avec types d’entrée et de sortie
- Rédaction d’une docstring conforme à la PEP 257
Gestion des fichiers
- manipuler fichiers et répertoires
- accès séquentiel et aléatoire
- modules système —
os,shutil,pathlib
- sérialiser et désérialiser des données
jsonpour interopérabilitécsvpour tabulairepicklepour objets Python
- journaliser avec le module
logging
Travaux pratiques :
- Création d’un programme accédant aux fichiers et répertoires en différents modes
- Travail sur les modules standards
Jour 3
Les modules
- structurer le code en modules et packages —
__init__.py - importer des modules
- instruction
import - résolution des modules
- distinction module / programme via
__main__
- instruction
- isoler les dépendances
- installation via
pip - environnements virtuels
venv
- installation via
Travaux pratiques :
- Utilisation de modules systèmes
- Création de modules regroupant plusieurs fonctions écrites en cours
- Création d’un environnement virtuel
venvet installation d’un paquet viapip
Les classes
- appliquer l’approche objet
- classes et instances
- référence
self - constructeur
__init__
- concevoir des classes
- données et méthodes membres
- méthodes spéciales —
__str__,__repr__,__eq__ - propriétés via
@property
- exploiter l’héritage
Travaux pratiques :
- Création de classes simples et instanciation pour obtenir des objets
- Ajout de méthodes et de propriétés
- Ajout de l’héritage et travail sur ce modèle
- Implémentation des méthodes spéciales
__str__,__repr__et__eq__ - Conversion d’une méthode en propriété en lecture seule via
@property
Jour 4
Programmation graphique
- créer une interface utilisateur avec Tkinter
Travaux pratiques :
- Création d’un programme d’interface utilisateur utilisant la librairie Tkinter
Mise au point de programme
- déboguer un programme Python — exécution pas à pas, points d’arrêt, inspection
Python et l’IA : développement assisté
- identifier les apports des assistants IA
- génération de code Python
- explication de code existant
- refactoring guidé
- utiliser l’IA en débogage
- respecter les bonnes pratiques et limites
- revue humaine systématique
- confidentialité des données sensibles
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Pour aller plus loin
Cette formation donne accès aux formations suivantes :
- Python - Calculs Scientifiques
- Web scraping avec Python
- Data Science avec Python (Scikit-learn)
- Python pour tests d'intrusion
- Python - Perfectionnement
- Analyse de Données avec l'IA
- ChatGPT et GPT-4 dans des applications Python
- Apprentissage
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
Formation DEV-PYTHON-100 — Python - Initiation. Domaine : Développement. Niveau : Initiation. Durée : 4 jours (28 heures). Mots-clés : python, développement, initiation, scripting, backend. Cylian Formation, Dijon.