muyang_zzF6 发表于 2022-3-19 11:35:21

nonlocal和global有啥区别啊,感觉他们好像一样哎

nonlocal和global有啥区别啊,感觉他们好像一样哎

qiuyouzhi 发表于 2022-3-19 11:50:19

https://blog.csdn.net/xCyansun/article/details/79672634

jackz007 发表于 2022-3-19 15:37:59

本帖最后由 jackz007 于 2022-3-19 17:32 编辑

nonlocal 和 global 都是在函数内声明外部变量,被声明的变量将直接使用同名外部变量,以便可以对该变量进行修改(赋值),如果不这样声明,那就只能读取该变量,如果对其赋值,那就会创建一个新的局部变量。两种声明的区别在于,global 用于声明全局变量,就是说,同名外部变量一定位于所有函数之外,并且,在遇到 global 声明之前,该变量已经在函数外被赋过值;nonlocal 则一定是在内嵌函数内对外部变量进行声明,外部同名变量一定是外层函数的一个局部变量,并且,在遇到 nonlocal 声明之前,该变量已经在外层函数被赋过值。
页: [1]
查看完整版本: nonlocal和global有啥区别啊,感觉他们好像一样哎