CommencezCommencez gratuitement

Accéder à des attributs inexistants

Il arrive qu'on tente d'accéder à un attribut qui n'existe pas dans l'espace de noms d'un objet. Habituellement, cela déclenche une exception AttributeError. Dans cet exercice, vous allez pratiquer la gestion de ce scénario avec une des méthodes magiques de Python. Amusez-vous!

Cette activité fait partie du cours

Programmation orientée objet intermédiaire en Python

Voir le cours

Instructions de l’exercice

  • Définissez une méthode à exécuter lorsqu'un attribut non défini dans l'espace de noms de BankAccount est référencé; cette méthode doit prendre les paramètres self et name.
  • Ajoutez une logique à la méthode magique pour afficher un message suggérant de définir l'attribut référencé pour l'objet.
  • Créez un objet de la classe BankAccount, puis tentez d'accéder à l'attribut routing_number; observez le résultat.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

class BankAccount:
  def __init__(self, account_number):
    self.account_number = account_number
  
  # Define a magic method to handle references to attribute
  # not in an object's namespace
  def ____(____, ____):
    # Output a message to instruct further action
    print(f"""{____} is not defined in BankAccount object.
    	Please define this attribute if needed.""")
    
# Create a BankAccount object, reference routing_number
checking_account = ____("123456")
____.____
Modifier et exécuter le code