# locals 和 globals # locals 获取当前作用域的所有变量 ''' locals 如果在函数的外面,获取locals()返回值打印之前, 所有的内容. locals 如果在函数的里面,获取locals调用之前,所有的内容 ''' ''' # 获取打印返回值之前的所有内容 a = 10 b = 20 res = locals() c=20 print(res) d=30 ''' ''' # 获取locals调用之前的所有的内容 def func(): f1 = 11 f2 = 12 res = locals() f3 = 13 print(res) func() ''' ''' {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001F1C552A278>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/深圳5期/day10/1.py', '__cached__': None, 'a': 10, 'b': 20, 'res': {...} } ''' # globals 只获取全局变量(无论在函数内外都只获取全局变量) ''' globals 如果在函数的外面,获取globals()返回值打印之前, 所有的内容. globals 如果在函数的里面,获取globals调用之前,所有的内容 ''' #(1) ''' a = 5 b =15 res = globals() c = 26 print(res) d = 27 ''' #(2) ''' z1 = 5 z2 = 6 def func(): f1 = 1 f2 = 2 f3 = 3 res = globals() f4 = 6 print(res) z4 = 8 func() #res = globals() z3 = 7 ''' # globals 动态创建全局变量 '''globals 返回的是系统的 全局命名空间的字典 ,在空间里面放的全局变量''' ''' dic = globals() print(dic,type(dic)) dic['wangwen'] = 188 print(wangwen) ''' # globals 可以批量创建全局变量 def func(): res = globals() # res['a1'] = 1 # res['a2'] = 2 for i in range(5): # print(i) res["a%d" % (i) ] = i ''' "a%d" % (i) # 字符串的格式化 res['a0'] = 0 res['a1'] = 1 res['a2'] = 2 res['a3'] = 3 res['a4'] = 4 ''' func() print(a0) print(a1) print(a2) print(a3) print(a4) # locals 更多的用于获取一些变量 , globals更多的用于修改一些变量