Accès rapide :
Programmation Orientée Objet en Python
Programmation Orientée Objet en Python : plan de la formation
Programmation Orientée Objet en Python Introduction et rappels Python
Introduction et rappels Python : Python, un langage Polyvalent
Introduction et rappels Python : Python 2 vs Python 3
Introduction et rappels Python : La PEP 8 et les conventions de codage Python
Introduction et rappels Python : Les types des bases : int, float, str et bool
Introduction et rappels Python : Les principales collections Python
Programmation Orientée Objet en Python Introduction à la programmation orientée objet
Introduction à la programmation orientée objet : Pourquoi programmer objet
Introduction à la programmation orientée objet : Mise en uvre de classes
Introduction à la programmation orientée objet : Définition de membres statiques
Introduction à la programmation orientée objet : Mise en uvre de l'héritage
Introduction à la programmation orientée objet : L'héritage multiple
Introduction à la programmation orientée objet : Définition d'un type énuméré
Programmation Orientée Objet en Python Gestion structurée des exceptions
Gestion structurée des exceptions : Comment fonctionne la gestion des exceptions ?
Gestion structurée des exceptions : La hiérarchie de classes d'exceptions
Gestion structurée des exceptions : L'instruction raise
Gestion structurée des exceptions : L'instruction try/except/finally
Gestion structurée des exceptions : Définir ses propres classes d'exceptions
Programmation Orientée Objet en Python Aspects avancés de POO en Python
Aspects avancés de POO en Python : Itérateur vs Générateur en Python
Aspects avancés de POO en Python : Définition d'un ContextManager
Introduction à la programmation orientée objet Utilisation du mot clé with
Aspects avancés de POO en Python : Gestion des types abstraits via le module « abc »
Aspects avancés de POO en Python : La réflexion en Python
Aspects avancés de POO en Python : Les décorateurs Python
Programmation Orientée Objet en Python Bonnes pratiques de développement Python
Bonnes pratiques de développement : Les docstrings
Bonnes pratiques de développement : Utilisation du module « doctest »
Bonnes pratiques de développement : Mise en uvre de test unitaires avec « unittest »
Programmation Orientée Objet en Python Persistance d'objets en Python
Persistance d'objets en Python : Persistance d'objets en JSON
Persistance d'objets en Python : Qu'est-ce que l'ORM SqlAlchemy ?
Persistance d'objets en Python : Définir les données du mapping SqlAlchemy
Persistance d'objets en Python : Manipulation de vos données
Persistance d'objets en Python : Mapping des relations entre tables
Persistance d'objets en Python : Le chargement paresseux (Lazy Loading)
Programmation Orientée Objet en Python Mise en uvre de design patterns
Mise en uvre de design patterns
Merci de votre attention
Mise en ?uvre de design patterns Singleton - technique 1 : on simule le private en jouant un test durant l'exécution du constructeur. Comprenez bien qu'il est impossible de privatiser le constructeur. import traceback class Singleton: __singleton = None def __init__( self ): if traceback.extract_stack()[-2].name != "get_instance": raise BaseException( "You cannot call the initializer" ) # Do the initialisations @classmethod def get_instance(cls): if cls.__singleton is None: cls.__singleton = Singleton() return cls.__singleton ... Dominique Liard - Koor.fr - 2009 .. 2023 Notes: Dans cet exemple, on utilise la capacité qu'a Python de nous renvoyer un tableau de tous les appels ayant aboutis à l'exécution de la méthode considérée (ici la méthode __init__). On pourra donc s'assurer qu'on y est bien arrivé en passant par la méthode getInstance.
Diapositive précédente
Diapositive suivante
2024 © SARL Infini Software - Tous droits réservés
Mentions légales
Les informations présentes dans ce site vous sont fournies dans le but de vous aider à acquérir les compétences nécessaires à
l'utilisation des langages ou des technologies considérés. Infini Software ne pourra nullement être tenu responsable de l'utilisation
des informations présentes dans ce site.
De plus, si vous remarquez des erreurs ou des oublis dans ce document, n'hésitez surtout pas à nous le signaler en envoyant un mail
à l'adresse : .
Les autres marques et les noms de produits cités dans ces documents sont la propriété de leurs éditeurs respectifs.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :