Aan de slagGa gratis aan de slag

Toegang tot niet-bestaande attributen

Soms probeer je een attribuut te benaderen dat niet bestaat in de namespace van een object. Meestal leidt dit tot een AttributeError. In deze oefening ga je oefenen met het afhandelen van dit scenario met een van Python's magische methoden. Veel plezier!

Deze oefening maakt deel uit van de cursus

Gevorderde objectgeoriënteerde programmering in Python

Cursus bekijken

Oefeninstructies

  • Definieer een methode die wordt uitgevoerd wanneer je verwijst naar een attribuut dat niet is gedefinieerd in de BankAccount-namespace; deze methode moet de parameters self en name hebben.
  • Voeg logica toe aan de magische methode om een bericht te printen dat suggereert dat het genoemde attribuut ingesteld zou moeten worden voor het object.
  • Maak een object van de klasse BankAccount en probeer het attribuut routing_number te benaderen; bekijk de output.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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")
____.____
Code bewerken en uitvoeren