Обращение к несуществующим атрибутам
Иногда возникает ситуация, когда вы обращаетесь к атрибуту, которого нет в пространстве имён объекта. По умолчанию это приводит к исключению AttributeError. В этом упражнении вы научитесь обрабатывать такую ситуацию с помощью одного из магических методов Python.
Это упражнение является частью курса
Объектно-ориентированное программирование на Python: средний уровень
Инструкции к упражнению
- Определите метод, который будет вызываться при обращении к атрибуту, не определённому в пространстве имён
BankAccount; метод должен принимать параметрыselfиname. - Добавьте в магический метод логику, которая выводит сообщение с предложением задать указанный атрибут для объекта.
- Создайте объект класса
BankAccountи попробуйте обратиться к атрибутуrouting_number; обратите внимание на результат.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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")
____.____