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
- Historique
- Champs d’application
- Catégoriser Python: langage interprété à typage fort dynamique
- Environnement de travail
- Versions architectures et plateformes pour Python
- Editeurs et environnements de développement (IDE)
- Installation et configuration de Python
- Conformité du codage à PEP8
Travaux pratiques
- Acquisition de l’environnement de développement
- Configuration de l’installation
Programme type
- Programme minimal et point d’entrée
- Lancement de programmes et passage d’arguments
- Versions compilées de Python
- .py
- .pyc
- Console Python
Travaux pratiques
- Ecriture d’un premier programme de base Python
- Echange avec la console
Types de base
- Les primitifs
- Conversions de types, casting
- Types agrégés : Tuples, List, Set et Dictionnaires
- Fonctions usuelles : len, min, max, sorted
Travaux pratiques
- Sur le programme Python démarré, travail sur les types de variable en Python
- Ajout de tableaux et travail sur 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
- Commentaires sur une ligne #
- Notion de blocs et indentations
- Les opérateurs
- Affectation
- Arithmétique
- Logiques
- Relationnels
- Saisie et affichage : input, print et formatage
- Structure conditionnelle : la directive “Match”
- Les structures de boucle : While, For, Range()
- Break et continue
- La gestion des exceptions
- Groupes d’exceptions
- Notes d’exceptions
- L’import de 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
- 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
- Def, arguments et valeur de retour
- Annotations de types (type hints)
- Variables globales et l’instruction globale
- Arguments par défaut,
*argset**kwargs - Fonctions lambda
- Docstrings (PEP 257)
Travaux pratiques
- Définition et exploitation de nouvelles fonctions avec passage de paramètres et types de retour
- Ecriture de fonctions lambda, compréhension de l’avantage d’utiliser celles-ci
- Annotation d’une fonction avec types d’entrée et de sortie
- Rédaction d’une docstring conforme à la PEP 257
Gestion des fichiers
- Gestion de fichiers et répertoires
- Accès séquentiel, aléatoire
- Le module os, shutil, pathlib, json, csv, pickle, logging
Travaux pratiques
- Création d’un nouveau programme qui accède aux fichiers et répertoires, différents types d’accès étudiés
- Travail sur les modules standards
Jour 3
Les modules
- Définition de modules et des packages :
__init__.py - Instruction import
- Résolution des modules
- Module et programme :
__main__ - Installation de modules : pip
- Environnements virtuels : venv
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
- Approche objets
- Classes et instances / objets : self
- Constructeur :
__init__ - Données et méthodes membres
- Méthodes spéciales :
__str__,__repr__,__eq__ - Propriétés : @property
- Héritage
Travaux pratiques
- Dans un nouveau programme, création de classes simples, instanciation de celles-ci pour en récupérer 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
- UI avec Tkinter
Travaux pratiques
- Création d’un programme d’interface utilisateur utilisant la librairie Tkinter
Mise au point de programme
- Débogage : exécution pas à pas
Python et l’IA : développement assisté
- Principe des assistants IA de développement
- Génération, explication et refactoring de code Python
- Aide au débogage
- Bonnes pratiques et limites (revue humaine systématique, 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.