Python高阶技巧1 -- 闭包
闭包的目的是为了防止全局变量随意被篡改!
内部函数叫做闭包函数,整个函数的返回值是内部函数!
内部变量依赖于外部变量!
不定义全局变量,也可以让函数持续访问和修改一个外部变量!
闭包函数引用的外部变量,是外层函数的内部变量。作用域封闭难以被误操作修改!
ATM机小案例:
def user(init_count=0): print(f"当前账户余额{init_count}元") def atm(num, save=True): nonlocal init_count if save: init_count += num print(f"存款{num}元, 账户余额{init_count}元") else: init_count -= num print(f"取款{num}元, 账户余额{init_count}元") return atm xm = user(1000) xm(1000) xm(500, save=False)