Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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