python之路27vars()包含的全局变量对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之路27vars()包含的全局变量对象相关的知识,希望对你有一定的参考价值。

一、print(vars())输出结果如下:

{‘__name__‘: ‘__main__‘,

‘__doc__‘: None,

‘__package__‘: None,

‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x0000014BE5CBA470>,

‘__spec__‘: None,

‘__annotations__‘: {},

‘__builtins__‘: <module ‘builtins‘ (built-in)>,

‘__file__‘: ‘E:/python_code/2/13day/index.py‘,

‘__cached__‘: None}

其中比较常用的是:

__doc__    打印文件注释,.py文件中开头的三个引号中的内容

__file__     打印当前py文件的全路径名称

__package__   导入文件所在的包,即导入py文件所在的文件夹名,文件夹层级用.间隔,例如 lib.test

__cached__   python3中才有,缓存文件,导入文件执行的.pyc文件全路径

__name__   如果是当前py文件运行则返回__main__,如果其他文件导入运行,则返回当前导入文件所在的文件夹路径

技术分享

技术分享

所以为防止导入模块后直接运行,可以用 __name__ == __main__ 进行判断:

技术分享

 

以上是关于python之路27vars()包含的全局变量对象的主要内容,如果未能解决你的问题,请参考以下文章

第三十九节,python内置全局变量

Python之路18-函数作用域全局变量局部变量

Python全栈之路----函数----局部变量

九python沉淀之路--递归全局变量局部变量作用域

Python:使用 vars() 将字符串分配给变量

Python学习之路——基础05篇