Accesarea atributelor inexistente
Uneori s-ar putea să încerci să accesezi un atribut care nu există în spațiul de nume al unui obiect. În mod implicit, acest lucru declanșează o eroare de tip AttributeError. În acest exercițiu, vei exersa gestionarea acestei situații folosind una dintre metodele magice din Python. Succes!
Acest exercițiu face parte din cursul
Programare orientată pe obiecte intermediară în Python
Instrucțiuni pentru exercițiu
- Definește o metodă care să fie executată atunci când se referențiază un atribut ce nu este definit în spațiul de nume al clasei
BankAccount; această metodă ar trebui să accepte parametriiselfșiname. - Adaugă logică în metoda magică pentru a afișa un mesaj care să sugereze că atributul referențiat ar trebui setat pentru obiect.
- Creează un obiect al clasei
BankAccountși încearcă să accesezi atributulrouting_number; observă rezultatul afișat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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")
____.____