Začněte nyníZačněte zdarma

Přístup k neexistujícím atributům

Citlivá situace, která se čas od času stane: pokusíš se přistoupit k atributu, který v namespace objektu vůbec neexistuje. V takovém případě Python obvykle vyhodí AttributeError. V tomto cvičení si procvičíš, jak tento scénář elegantně ošetřit pomocí jedné z Pythonových magických metod. Pojďme na to!

Toto cvičení je součástí kurzu

Intermediate Object-Oriented Programming in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj metodu, která se spustí při odkazování na atribut, jenž není definován v namespace třídy BankAccount; tato metoda by měla přijímat parametry self a name.
  • Do magické metody přidej logiku, která vypíše zprávu s doporučením, aby byl odkazovaný atribut pro daný objekt nastaven.
  • Vytvoř objekt třídy BankAccount a pokus se přistoupit k atributu routing_number; sleduj výstup.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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")
____.____
Upravit a spustit kód