1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết hàm trong Python

Connected

Bài tập

Closure giữ an toàn cho giá trị của bạn

Bạn vẫn đang giúp cháu gái hiểu về closures. Bạn đã viết hàm get_new_func() trả về một hàm lồng nhau. Hàm lồng nhau call_func() sẽ gọi bất kỳ hàm nào được truyền vào get_new_func(). Bạn cũng đã viết my_special_function() chỉ đơn giản in ra một thông báo nói rằng bạn đang thực thi my_special_function().

Bạn muốn cho cháu thấy rằng dù bạn làm gì với my_special_function() sau khi truyền nó vào get_new_func(), thì hàm mới vẫn mô phỏng đúng hành vi của my_special_function() ban đầu vì nó nằm trong closure của hàm mới.

Hướng dẫn 1/3

undefined XP
  • 1

    Chứng minh rằng bạn vẫn nhận được thông điệp ban đầu ngay cả khi bạn định nghĩa lại my_special_function() để chỉ in "hello".

  • 2

    Chứng minh rằng ngay cả khi bạn xóa my_special_function(), bạn vẫn có thể gọi new_func() mà không gặp vấn đề gì.

  • 3

    Chứng minh rằng bạn vẫn nhận được thông điệp ban đầu ngay cả khi bạn ghi đè my_special_function() bằng hàm mới.