Toegang tot niet-bestaande attributen
Soms probeer je een attribuut te benaderen dat niet bestaat in de namespace van een object. Meestal leidt dit tot een AttributeError. In deze oefening ga je oefenen met het afhandelen van dit scenario met een van Python's magische methoden. Veel plezier!
Deze oefening maakt deel uit van de cursus
Gevorderde objectgeoriënteerde programmering in Python
Oefeninstructies
- Definieer een methode die wordt uitgevoerd wanneer je verwijst naar een attribuut dat niet is gedefinieerd in de
BankAccount-namespace; deze methode moet de parametersselfennamehebben. - Voeg logica toe aan de magische methode om een bericht te printen dat suggereert dat het genoemde attribuut ingesteld zou moeten worden voor het object.
- Maak een object van de klasse
BankAccounten probeer het attribuutrouting_numberte benaderen; bekijk de output.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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")
____.____