直接上代码
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- 这是注释__doc__会打印这部分内容
- """
- # 以字典的方式返回所有内置变量
- print(vars())
- # 返回当前文件的路径
- print(__file__)
- # 获取导入该文件的路径, 当前文件内输出会返回 None
- print(__package__)
- # 最重要的__name__获取导入文件的路径加文件名称
- print(__name__)
执行结果
{'__name__': '__main__', '__doc__': '\n 这是注释__doc__会打印这部分内容 \ n', '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001F7A6E6C438>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'F:/SQ_Python_Easy/D10_面向对象 / 内置变量 1.py', '__cached__': None}
F:/SQ_Python_Easy/D10_面向对象 / 内置变量 1.py
None
__main__
知识点一: vars()
Python 内置函数, 可以返回当前模块的所有内置变量
知识点二:__file__获取路径
所在模块: os
变量作用: 指向当前文件
当前文件的完整路径: os.path.realpath(__file__)
当前文件所属目录: os.path.dirname(os.path.realpath(__file__))
当前文件所属目录的上级目录: os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
知识点三:__package__
- """
- 内置变量 1.py
- """
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- print(__package__) # 输出 None
- """
- 内置变量 2.py
- """
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
from test import 内置变量 1.py
# 会输出 test ; 输出导入的文件的目录
知识点四:__name__(重点)
Python 系统变量
场景一:
if__name__ == '__main__':
最常用的场景: 当你运行当前文件时, __name__ 输出就是 __main__ , 所以可以加个 if 判断来执行特定代码
场景二: 其他文件 import
内置变量 1.py 文件
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- print(__name__)
- if __name__ == '__main__':
- print("main")
运行 内置变量 1.py 文件
__main__ main
内置变量 2.py 文件
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
from test import 内置变量 1.py
运行 内置变量 2.py 文件
D10_面向对象. 内置变量 1
可以看到, 运行内置变量 2.py 文件时, 它因为导入了内置变量 1.py, 输出__name__的值则是内置变量 1.py 在工程目录下的路径
来源: https://www.cnblogs.com/poloyy/p/12507104.html