Objectifs pédagogiques
- Maîtriser le langage Python
- Connaître les fonctionnalités de base de la programmation objet
- Créer des interfaces graphiques
- Mettre en place les différents modules Python et les bonnes pratiques associées
- Suivre la qualité d'un programme Python via les outils de test et d’évaluation
Syntaxe de base du langage
- Identifiants et les références.
- Les types de données disponibles.
- Les variables, leurs portée et durée de vie.
- Les chaînes de caractères, les chaînes de format et l'affichage.
- Création des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires.
- Les structures conditionnelles if/elif/else.
- Les opérateurs logiques et de comparaison.
- Les boucles while et for.
- L'écriture de fonctions.
- La documentation et la fonction help.
- La fonction range.
- Les itérateurs et générateurs.
- L'accès aux fichiers avec la fonction open.
- La séparation du code en modules.
Objectif opérationnel : Avoir un aperçu des principaux concepts de Python.
Moyen d’évaluation : QCM
Rappels de programmation Orientée Objet
- Les bases du paradigme Objet.
- La définition d'un objet (état, comportement, identité).
- Concepts de classes, attributs et méthodes.
- Encapsulation des données.
- Héritage et le polymorphisme.
- Composition et agrégation.
- Les interfaces.
- Aperçu d'UML
Objectif opérationnel : Comprendre les principes de la programmation orienté objet.
Moyen d’évaluation : QCM
L'Objet en Python
- Le modèle Objet de Python.
- Écriture et instanciation de classes.
- Les constructeurs et les destructeurs.
- Le paramètre self.
- La (non-)protection des attributs et méthodes.
- Héritage et polymorphisme.
- Quelques méthodes spéciales.
- Les bonnes pratiques.
- Les exceptions et la gestion des erreurs.
Objectif opérationnel : Comprendre les spécificités de la programmation objet avec Python.
Moyen d’évaluation : QCM
La bibliothèque standard
- Quelques modules standard : "sys", "os", "os.path".
- Initiation aux expressions régulières avec le module "re"
- Le parsing d'arguments avec argparse
- La manipulation de dates et heures avec datetime
Objectif opérationnel : Comprendre les bibliothèques standard de la programmation avec Python.
Moyen d’évaluation : QCM
Outils QA
- Les outils d'analyse statique de code (Pylint, Pychecker).
- L'analyse des comptes rendus d'analyse (types de messages, avertissements, erreurs).
- Extraction automatique de documentation.
- Les modules de tests unitaires Python (Unittest...).
- L'automatisation des tests.
- Les tests de couverture de code, profiling.
Objectif opérationnel : Savoir mettre en place des modules de tests et d’automatisation.
Moyen d’évaluation : QCM
GUI avec TkInter
- Les principes de programmation des interfaces graphiques.
- Vue d'ensemble de TkInter.
- Les conteneurs.
- Les widgets courants.
- Le gestionnaire de fenêtres.
- Les Layouts et l'agencement des composants.
- La gestion des événements.
- Gérer plusieurs fenêtres.
Objectif opérationnel : Créer et manipuler IHM TkInter.
Moyen d’évaluation : QCM
Interfacer Python et C
- Présentation du module CFFI.
- Chargement et utilisation d'une librairie C.
- Survole de l'API C de Python.
- Présentation de Cython.
- Réécriture d'une fonction Python avec Cython.
- La création de modules C pour Python.
- Appel de fonctions C depuis Python.
- Appel de fonctions Python depuis C.
Objectif opérationnel : Comprendre et utiliser Python/C
Moyen d’évaluation : QCM
Conclusion et perspectives
- Limites du langage Python.
- L'évolution du langage et les PEP.
- Quelques références.
Objectif opérationnel : Comprendre les limites du langage python.
Moyen d’évaluation : QCM
Consultant, Formateur JavaScript Web et Mobile. Avec une vision très opérationnelle, en tant que développeur expérimenté d'applications web