Modifier les attributs

En Python, après avoir créé une instance d'une classe, vous n'êtes pas limité aux valeurs assignées lors de l'initialisation. Vous pouvez modifier directement les attributs d'une instance. Par exemple, utilisons notre classe Book de plus tôt. Après avoir créé une instance de Book, vous pourriez vouloir mettre à jour le nombre de pages ou le nom de l'auteur. Vous pouvez le faire en accédant directement à l'attribut en utilisant l'opérateur point ., et en assignant une nouvelle valeur :
class Book:
    def __init__(self, title, author, pages):
        self.title = title     # Assigne le titre à l'instance du livre
        self.author = author   # Assigne l'auteur à l'instance du livre
        self.pages = pages     # Assigne le nombre de pages à l'instance du livre
        self.is_read = False   # Le livre n'a pas encore été lu


book1 = Book('To Kill a Mockingbird', 'Harper Lee', 281)

print(book1.pages)            # 281
book1.pages = 324             # Met à jour le nombre de pages
print(book1.pages)            # 324

print(book1.author)           # 'Harper Lee'
book1.author = 'Lee, Harper'  # Met à jour le nom de l'auteur
print(book1.author)           # 'Lee, Harper'

Défi : Créer une classe Book

Votre tâche est de concevoir une classe Book avec quatre attributs :
  • title : par défaut "Untitled Book" (Livre sans titre)
  • author : par défaut "Unknown Author" (Auteur inconnu)
  • price : par défaut 0.0
  • quantity_in_stock : par défaut 0
La classe doit initialiser tous les attributs avec ces valeurs par défaut dans son constructeur (la méthode __init__ ne doit prendre aucun argument). La classe doit également inclure une méthode display pour afficher les attributs actuels du livre dans un format lisible. Le format doit être "Title: [title], Author: [author], Price: [price], Quantity in stock: [quantityinstock]".
Le programme prendra ensuite deux lignes d'entrée. La première ligne contient le nom d'un attribut (title, author, price, quantity_in_stock). La seconde ligne contient une valeur pour cet attribut.
Votre programme doit assigner cette nouvelle valeur à l'attribut spécifié dans l'entrée, puis appeler la méthode display sur l'objet Book pour afficher les attributs actuels du livre.
Entrée
Sortie
title War and Peace
Title: War and Peace, Author: Unknown Author, Price: 0.0, Quantity in stock: 0
quantityinstock 20
Title: Untitled Book, Author: Unknown Author, Price: 0.0, Quantity in stock: 20
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue