python 内置函数

python globals()函数用于以字典的形式返回全局作用域的全部变量。它是python的内置函数。

语法

语法如下:
globals()

参数

没有参数

返回值

返回全局作用域中的key,value字典。

程序示例

#!/usr/bin/python
# coding=utf-8
#  定义add()函数
i=1 
j=2
def add(a, b):
    sum = a+b
    print(locals())  #没有打印i和j
    print(globals())  #全局作用域 有i和j
    return sum

c = add(2, 3)
print(c) 
print(globals())  

程序运行结果:

{'sum': 5, 'b': 3, 'a': 2}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fd390fc8c18>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/testglobals.py', '__cached__': None, 'i': 1, 'j': 2, 'add': <function add at 0x7fd390ffae18>}
5
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fd390fc8c18>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/testglobals.py', '__cached__': None, 'i': 1, 'j': 2, 'add': <function add at 0x7fd390ffae18>, 'c': 5}

注意第一次打印globals()和第二次globals()的区别,第二次打印多了一个c变量,这是因为python是脚本语言,第一次执行globals()函数时,还没有c变量。