Acessando atributos que não existem
Às vezes, você pode tentar acessar um atributo que não existe no namespace de um objeto. Quando isso acontece, normalmente é lançado um AttributeError. Neste exercício, você vai praticar como lidar com esse cenário usando um dos métodos mágicos do Python. Aproveite!
Este exercício faz parte do curso
Programação Orientada a Objetos Intermediária em Python
Instruções do exercício
- Defina um método a ser executado quando um atributo não definido no namespace de
BankAccountfor referenciado; esse método deve receber os parâmetrosselfename. - Adicione lógica ao método mágico para imprimir uma mensagem sugerindo que o atributo referenciado deve ser definido para o objeto.
- Crie um objeto da classe
BankAccounte tente acessar o atributorouting_number; observe a saída.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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")
____.____