Zacznij terazZacznij za darmo

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

Zobacz kurs

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ć parametry self oraz name.
  • Dodaj do metody magicznej logikę, która wyświetli komunikat sugerujący, że wskazany atrybut powinien zostać ustawiony dla obiektu.
  • Utwórz obiekt klasy BankAccount i spróbuj uzyskać dostęp do atrybutu routing_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")
____.____
Edytuj i uruchom kod