p21内嵌函数和闭包20191229

所有内容出自鱼C论坛https://fishc.com.cn/ 小甲鱼课程

global关键字

P20-全局变量在整个代码范围内都可以访问到,可以在函数内部去访问它的值,但是不要在函数内部去修改它,因为会新建一个名字一样的局部变量代替,修改之修改了内部创造出的名字一样的局部变量,并没有修改到全局变量

自动启用屏蔽机制shadowing

内嵌函数(内部函数)

闭包

报错是因为执行fun2的时候,fun2的整个外部空间就是fun1的内部空间,x=5点x其实是非全局变量的外部变量

内部函数只能引用外部变量,不能修改

python3.0之前没有直接解决方案,只能间接通过容器类型来存放,因为容器类型不是储存在栈里面的,就不会被屏蔽掉了,


python3.0之后,用关键字nonlocal

你可能感兴趣的:(p21内嵌函数和闭包20191229)