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
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 parametryselfaname. - 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
BankAccounta pokus se přistoupit k atributurouting_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")
____.____