Auf nicht vorhandene Attribute zugreifen
Manchmal versuchst du, auf ein Attribut zuzugreifen, das im Namensraum eines Objekts nicht existiert. In diesem Fall wird normalerweise ein AttributeError ausgelöst. In dieser Übung übst du, wie du dieses Szenario mit einer der Magic-Methoden von Python behandeln kannst. Viel Spaß!
Diese Übung ist Teil des Kurses
Fortgeschrittene objektorientierte Programmierung in Python
Anleitung zur Übung
- Definiere eine Methode, die ausgeführt wird, wenn auf ein Attribut verwiesen wird, das nicht im Namensraum von
BankAccountdefiniert ist; diese Methode soll die Parameterselfundnameannehmen. - Füge der Magic-Methode Logik hinzu, die eine Nachricht ausgibt und vorschlägt, das referenzierte Attribut für das Objekt zu setzen.
- Erzeuge ein Objekt der Klasse
BankAccountund versuche, auf das Attributrouting_numberzuzugreifen; beobachte die Ausgabe.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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")
____.____