1. Learn
  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(),仍然会得到最初的消息。