标签:区别 默认 code 嵌套 cal oba 位置 oca 一个
# L = Local 局部作用域 # E = Enclosing 嵌套作用域 # N = nonlocal 只作用于嵌套作用域,而且只是作用在函数里面 # G = global 全局作用域 # B = Built-in 内置作用域 """ locals()函数返回一个当前位置的所有局部变量的字典 globals()函数返回一个全局变量的字典,包括所有导入的变量 local设置局部变量,local需在函数体内设置;在函数体内声明的变量,默认都是局部变量 global设置为全局变量,global需在函数体内设置; global同时还可以定义新的全局变量 nonlocal内层函数改变外层函数变量值,nonlocal需在内层函数中使用 ;nonlocal不能定义新的外层函数变量 """ def test(c): global a a=10 b=20 print(a,b) print(‘局部变量‘,locals()) def inner(*args, **kwargs): nonlocal c c=30 print(c) return inner() test(1) print(‘全局变量‘,globals())
标签:区别 默认 code 嵌套 cal oba 位置 oca 一个
原文地址:https://www.cnblogs.com/shuzf/p/12768767.html