Classes Livre et Utilisateur
Fait partie de la section Object Oriented Programming du Journey Python de Coddy. Leçon 56 sur 64.
Défi
FacileDans ce défi, vous allez implémenter la classe Book pour un système de gestion de bibliothèque utilisant une structure multific hier avec une couverture de tests complète.
Modifiez book.py pour implémenter la classe Book en suivant les commentaires TODO. L’implémentation doit :
- Initialize avec les paramètres title, author et ISBN
- Suivre le status de disponibilité et les informations sur le borrower
- Implement une représentation sous forme de string appropriée
Essayez vous-même
from book import Book
# 1. Créer un objet Book
book = Book("1984", "George Orwell", "345678")
# 2. Vérifier les attributs
print(book.title) # Devrait afficher : 1984
print(book.author) # Should print: George Orwell
print(book.isbn) # Devrait afficher : 345678
print(book.available) # Devrait afficher : True
print(book.borrower) # Devrait afficher : None
# 3. Tester __str__ lorsqu'il est disponible
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Available
# 4. Test __str__ when not available
book.available = False
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Not AvailableToutes les leçons de Object Oriented Programming
1Les fondamentaux de la POO
Fichiers externesIntroduction à la POOClasses vs ObjetsLe paramètre selfMéthodesAttributsMéthode constructeur (__init__)Récapitulatif - Calculatrice simple4Héritage
Héritage de baseLa fonction super()Redéfinition de méthodeHéritage multipleOrdre de résolution des méthodesRécapitulatif - Hiérarchie des employés7Méthodes spéciales
Introduction aux méthodes magiquesSurcharge d'opérateursMéthodes magiques de conteneurRécapitulatif - Liste personnalisée10Patrons de conception, Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FactoryPatron ObserverPatron Strategy2Décorateurs
Introduction aux décorateursDécorateur de propriétéDécorateur de méthode statiqueDécorateur de méthode de classe5Polymorphisme
Retour sur la redéfinition de méthodeDuck TypingClasses et méthodes abstraitesConception d'interfacesRécapitulatif - Calculateur de formes8Concepts avancés de la POO
Composition vs HéritageMixinsMéthodes statiques et de classeDécorateurs de classeGestionnaires de contexte11Patrons de conception, Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode TemplatePatron ÉtatPatron Composite3Propriétés de classe
Variables d'instance vs variables de classeDécorateurs de propriétéAttributs privésRécapitulatif - Gestionnaire de compte bancaire6Encapsulation
Membres Publics, Protégés, PrivésModificateurs d'accèsMasquage d'informationsDécorateurs Property AvancésRécapitulatif - Système de Gestion d'Étudiants12Projet : Gestion de bibliothèque
Présentation du projetClasses Livre et UtilisateurSystème d'empruntFonctionnalité de rechercheInterface d'administrationTests et intégrationEntraînez-vous par vous-même : Compilateur Python en ligne