Acceder a atributos que no existen
A veces puedes intentar acceder a un atributo que no existe en el espacio de nombres de un objeto. Cuando esto ocurre, normalmente se lanza un AttributeError. En este ejercicio practicarás cómo manejar este escenario usando uno de los métodos mágicos de Python. ¡A por ello!
Este ejercicio forma parte del curso
Programación orientada a objetos intermedia en Python
Instrucciones del ejercicio
- Define un método que se ejecute cuando se haga referencia a un atributo no definido en el espacio de nombres de
BankAccount; este método debe recibir los parámetrosselfyname. - Añade lógica al método mágico para imprimir un mensaje que sugiera que el atributo al que se hizo referencia debería establecerse para el objeto.
- Crea un objeto de la clase
BankAccounte intenta acceder al atributorouting_number; observa la salida.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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")
____.____