Python笔记
🗒️闭包
00 分钟
2021-7-2
2023-12-30
type
status
date
slug
summary
tags
category
icon
学习进度
  • 闭包:定义双层嵌套函数,内层函数可以访问外层函数的变量,将内层函数作为外层函数的返回,此内层函数就是闭包函数。
  • 内部函数依赖外部变量,但外部变量本质上又是外层函数的内部临时变量,通过这种双层嵌套的形式,即实现了外部变量可以持续不断的记录值,同时又确保了外部变量它不是全局的,不会别篡改掉。
  • 使用闭包的优点:无需定义全局变量即可实现通过函数,持续的访问,修改某个值。闭包函数引用的外部变量,是外层函数的内部变量,作用域封闭难以被操作修改。
  • 缺点:由于内部函数持续引用外部函数的值,所以会导致这一部分内存空间不被释放,一直占用内存。
  • nonlocal关键字的作用在闭包函数(内部函数中)想要修改外部函数的变量值需要用nonlocal声明这个外部变量。
 
notion image
notion image
notion image
  • initial_amount不会归零
notion image