НачатьНачать бесплатно

Обращение к несуществующим атрибутам

Иногда возникает ситуация, когда вы обращаетесь к атрибуту, которого нет в пространстве имён объекта. По умолчанию это приводит к исключению 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")
____.____
Редактировать и запускать код