Dostęp do nieistniejących atrybutów
Czasem możesz próbować uzyskać dostęp do atrybutu, który nie istnieje w przestrzeni nazw obiektu. W takiej sytuacji Python zazwyczaj zgłasza wyjątek AttributeError. W tym ćwiczeniu przećwiczysz obsługę tego scenariusza za pomocą jednej z magicznych metod Pythona.
To ćwiczenie jest częścią kursu
Programowanie obiektowe w Pythonie – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Zdefiniuj metodę, która będzie wywoływana przy odwołaniu do atrybutu niezdefiniowanego w przestrzeni nazw klasy
BankAccount; metoda powinna przyjmować parametryselforazname. - Dodaj do metody magicznej logikę, która wyświetli komunikat sugerujący, że wskazany atrybut powinien zostać ustawiony dla obiektu.
- Utwórz obiekt klasy
BankAccounti spróbuj uzyskać dostęp do atrybuturouting_number; zaobserwuj wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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")
____.____