Formation Développer en langage Python orienté objet, certification API Society
Informations générales
Objectifs
Après ce cours, vous serez capable de :
- Connaître la syntaxe du langage Python
- manipuler les types de données fondamentaux
- Utiliser et définir des fonctions, des modules, des paquets, des exceptions, manipuler des fichiers
- Connaître la théorie de la Programmation orientée objet et sa mise en pratique en Python
- utiliser les modules incontournables de la bibliothèque standard
Public
Ce cours s'adresse avant tout aux personnes suivantes :
- Développeurs, ingénieurs, chefs de projet proches du développement.
Prérequis
Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :
- Connaissance d’un langage de programmation.
Programme de la formation
Python est un langage de programmation largement utilisé dans les applications web, le développement logiciel, la science des données, la finance, la cartographie, l’intelligence artificielle et l’apprentissage automatique. Cette formation vous apprendra la syntaxe de base, les différents types de données, les structures conditionnelles et répétitives, les fonctions, les modules, les paquets, la manipulation des fichiers et la gestion des exceptions.
Introduction
- Historique (auteur, date de la première version).
- Versions de Python (branches 2 et 3).
- Caractéristiques du langage (multi-paradigme, typage dynamique fort, syntaxe claire).
- Panorama de la bibliothèque standard.
- Modules d'extension et commande pip.
- Principe de fonctionnement de l'interpréteur (bytecode PYC).
- Interpréteur officiel CPython et autres interpréteurs (micropython, brython, pypy, numba.
- Ressources (site Internet python.org, accès aux documentations).
- Fonction help() et chaînes documentaires.
- Principe de l'indentation pour délimiter les blocs d'instruction.
- Commentaire.
- Mots-clés réservés.
- Conventions de nommage.
- Interpréteur interactif.
- Programme autonome.
- Fonctions intégrées élémentaires : print(), type(), input(), len().
Types de données non modifiables
- Utilité des types non-modifiables (optimisation mémoire), fonctions id() et hash(), opérateur is.
- Principe des séquences ordonnées (str, tuple et list) et collections (dict, set).
- Booléen (bool), objets True et False.
- Nombre (int, float, complex), constructeurs, opérateurs >>, <<, |, &, ^, //, % et **.
- Notations exponentielle, binaire, octale et hexadécimale, fonctions hex(), oct(), bin(), chr(), ord().
- Chaîne de caractères unicode (str), définition avec simple et double guillemets, chaines multilignes, mode raw.
- Indiçage positif et négatif, tranche de valeurs (slice), opérateurs +, * et in, itération.
- Méthodes incontournables de str : split(), replace(), lower(), upper(), strip(), join().
- Chaîne de caractères formatée (%s, %d, %f), méthode format() et f-string.
- Principe du depacking de variables.
- Tableau d'octets (bytes), constructeur.
- Tuple (tuple), constructeur, indiçage, itération, opérateurs +, * et in, méthodes count() et index().
- Objet None et fonction repr().
Types de données modifiables
- Listes (list), constructeur, indiçage, intération, opérateurs +, * et in.
- Méthodes append(), insert(), fonction del(), méthodes sort(), reverse(), remove(), extend(), pop(), clear().
- Manipulation de pointeurs, copie superficielle via la méthode copy() ou l'indiçage [:].
- Etude de copie en profondeur avec la fonction deepcopy() du module copy.
- Fonction sorted.
- Principe de fonctionnement des objets itérables.
- Fonctions reversed() et range().
- Dictionnaires (dict), constructeur, indiçage, opérateur in, fonction del().
- Manipulation de pointeurs, copie superficielle via la méthode copy();
- Analyse de copie en profondeur avec la fonction deepcopy() du module copy.
- Set (set), constructeur, opérateurs - | & et ^.
Structures conditionnelles et répétitives
- Structure conditionnelle if ... elif ... else.
- Opérateur ternaire et morse.
- Structure répétitive while.
- Structure répétitive for.
- Instructions break et continue.
- Fonction enumerate.
- Bloc else sur structure répétitive.
- Liste en intension (comprehension list), dictionnaire en intension (comprehension dict).
Fonctions, modules et paquets
- Définition et appel d'une fonction.
- Espace de noms local, global, prédéfini (__builtins__) et fonction dir().
- Retourner des valeurs, , instruction return.
- Fonctions génériques (duck typing).
- Valeurs par défaut.
- Passage par étiquette.
- Nombre d'arguments arbitraire (*args, **kwargs).
- Fonctions anonymes (lambda).
- Fonctions eval(), exec(), map() et filter().
- Importation de modules.
- Création d'un module.
- Bloc if __name__ == ''__main__''.
- Importation de paquets.
- Création d'un paquet (__init__.py).
- Instruction yield.
Manipulation des fichiers
- Fonction open() et méthode close().
- Méthodes readline() et readlines().
- Objet itérable.
- Instruction with avec les fichiers.
- Méthodes read() et write().
- Méthodes tell() et seek().
- Méthode writelines().
- Modules complémentaires : struct, csv, json, xml.
- Sérialisation avec le module pickle.
- Sérialisation avec le module shelve.
Programmation Orientée Objet
- Concepts fondamentaux de la POO (séparation du code, encapsulation, héritage).
- Notions de classe d'objet, d'objet (instance), d'attribut et de méthode.
- Définition d'une classe d'objet.
- Instanciation d'objets, fonction isinstance().
- Constructeur (__init__).
- Attributs et méthodes.
- Le paramètre self.
- Surcharge d'affichage (__str__).
- Surcharge d'opérateurs (__eq__, __add__).
- Propriété (fonction spéciale property), accesseur et mutateur.
- Espaces de noms global, de l'objet, de la classe.
- Variable de classe.
- Constructeur à nombre d'arguments arbitraire (*args, **kwargs).
- Agrégation / Composition.
- Héritage de classe (généralisation), fonctions issubclass(), super() et méthode mro().
Exceptions
- Principe de fonctionnement.
- Exceptions prédéfinies et arbre d'héritage.
- Instructions try ... except ... else ... finally.
- Propagation des exceptions.
- Déclenchement d'exceptions.
- Définition d'une exception.
Modules de la bibliothèque standard
- Interaction avec l'interpréteur : module sys.
- Interaction avec le système d'exploitation : modules os et pathlib..
- Interaction avec le système de fichiers : module os.path.
- Expressions rationnelles : module re, fonctions search(), match(), split() et sub().
- Tests unitaires : instruction assert, module unittest.
- Tour d'horizon de modules de la bibliothèque standard :datetime, math, timeit, urllib, collections, csv, json, sqlite3.
- Présentation de datetime, subprocess, shutil, collections, timeit, urllib, sqlite3...
Méthode pédagogique
Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.
Méthode d'évaluation
Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.
Comment financer votre formation Développer en langage Python orienté objet, certification API Society
Suivre cette formation à distance
- Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
- Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
- Privilégier une connexion filaire plutôt que le Wifi.
- Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
- Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
- Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
- Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
- Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
- Horaires identiques au présentiel.
Mis à jour le 30/07/2026
Le contenu peut faire l'objet de légères adaptations selon les besoins et la progression des participants.
