python获取程序文件中的全局变量和局部变量的函数

global()和locals()函数

  • 使用global()可以获取Python中的全局变量;
  • 使用locals()可以获取Python中的局部变量;
  • 这两个函数会将所有的变量以字典形式返回;

(一)演示示例

# coding:UTF-8

number = 100


def print_num():
    """
    函数用来体验globals()和locals()函数
    :return: 不返回任何结果
    """
    num = 30
    print(globals())
    print(locals())


if __name__ == "__main__":
    print_num()

(二)程序执行结果

# 以下为全局变量输出(包括内建的系统全局变量),以字典形式表示
{
    
    '__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000002526E3E3DC0>, '__spec__': None, '__annotations__': {
    
    }, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/osmos/Osmos-Clone/test.py', '__cached__': None, 'number': 100, 'print_num': <function print_num at 0x000002526E42D310>}

# 以下为局部变量输出,以字典形式表示
{
    
    'num': 30}

(三)简单使用

# coding:UTF-8

number = 100


def print_num():
    """
    函数用来体验globals()和locals()函数
    :return: 不返回任何结果
    """
    num = 30
    print(globals())
    print(locals())


if __name__ == "__main__":
    print(print_num.__doc__)  # .__doc__的作用是获取函数的注释

# 代码输出为程序的注释
# 程序运行结果为:
"""
函数用来体验globals()和locals()函数
:return: 不返回任何结果
"""

(四)参考资料

  • 《Python从入门到项目实战》

猜你喜欢

转载自blog.csdn.net/qq_37388085/article/details/120090819