1. Обучение
  2. /
  3. Курса
  4. /
  5. Написание функций на Python

Connected

упражнение

Замыкания защищают ваши значения

Вы продолжаете помогать племяннице разобраться с замыканиями. Вы написали функцию get_new_func(), которая возвращает вложенную функцию. Вложенная функция call_func() вызывает ту функцию, которая была передана в get_new_func(). Также вы написали функцию my_special_function(), которая просто выводит сообщение о том, что выполняется my_special_function().

Вы хотите показать племяннице: что бы вы ни сделали с my_special_function() после передачи её в get_new_func(), новая функция по-прежнему воспроизводит поведение исходной my_special_function() — потому что та сохранена в замыкании новой функции.

Инструкции 1/3

undefined XP
  • 1

    Убедитесь, что даже после переопределения my_special_function() так, чтобы она печатала только «hello», по-прежнему выводится исходное сообщение.

  • 2

    Убедитесь, что даже после удаления my_special_function() вызов new_func() по-прежнему работает без ошибок.

  • 3

    Убедитесь, что даже после того, как вы перезапишете my_special_function() новой функцией, по-прежнему выводится исходное сообщение.