Accéder à des attributs inexistants
Il arrive que vous tentiez d’accéder à un attribut qui n’existe pas dans l’espace de noms d’un objet. Dans ce cas, Python lève généralement une AttributeError. Dans cet exercice, vous allez apprendre à gérer ce cas à l’aide d’une des méthodes magiques de Python. Amusez-vous bien !
Cet exercice fait partie du cours
Programmation orientée objet intermédiaire en Python
Instructions
- Définissez une méthode à exécuter lorsqu’un attribut non défini dans l’espace de noms de
BankAccountest référencé ; cette méthode doit prendre les paramètresselfetname. - Ajoutez une logique à la méthode magique pour afficher un message suggérant que l’attribut référencé devrait être défini pour l’objet.
- Créez un objet de la classe
BankAccount, puis tentez d’accéder à l’attributrouting_number; observez le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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")
____.____