Nos bureaux

  • Exceev Consulting
    61 Rue de Lyon
    75012, Paris, France
  • Exceev Technology
    332 Bd Brahim Roudani
    20330, Casablanca, Maroc

Suivez-nous

Préférences

Kit de marque

Développement, test & web - Développer en langage Python orienté objet, certification API Society

Un parcours pratique consacré à Développer en langage Python orienté objet. Les participants structurent leurs acquis autour de trois priorités : Introduction, Types de données non modifiables, Types de données modifiables.

Durée
4j - 28h00
Format
Formation pratique en présentiel ou à distance
Référence
EXCEEV-DEV-0003
Langue
Français

Programme détaillé

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 [ :].
  • Étude 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...

Parlez-nous de votre projet

Nos bureaux

  • Exceev Consulting
    61 Rue de Lyon
    75012, Paris, France
  • Exceev Technology
    332 Bd Brahim Roudani
    20330, Casablanca, Maroc