一、理解基本的模块的内置变量
(环境)
1、在a4.py中写入:
'''
the a4,py for doc
'''
print('name:'+__name__)#模块的完整名称
print('package:'+__package__)#模块的名称
print("doc:" +__doc__)#在模块的开始一定要只有写明注释
print("file:"+__file__)#模块在系统中的路径
2、在b1.py中写入:
import case.a4
3、在b1.py中输出终端(显示出内置模块的内容):
PS D:\python> python b1.py
name:case.a4
package:case
doc:
the a4,py for doc
file:D:\python\case\a4.py
二、 入口文件和普通模块的内置变量的区别
(环境)
package、name、file上的区别
(1)在b1.py中写入:
print('~~~~~~~~~~a4~~~~~~~~~~~')#仅仅只是为了区分模块在终端输出的结果
import case.a4
print('~~~~~~~~~b1~~~~~~~~~~~~')#仅仅只是为了区分模块在终端输出的结果
print('package: '+ ( __package__ or '不属于任何包'))
print('name:'+__name__)
print("doc:" + (__doc__ or '没有注释'))
print("file:"+__file__)
(2)在a4.py中写入:
'''
the a4,py for doc
'''
print('name:'+__name__)
print('package:'+__package__)
print("doc:" +__doc__)
print("file:"+__file__)
(3)终端输出结果
PS D:\python> python b1.py
~~~~~~~~~~a4~~~~~~~~~~~
name:case.a4
package:case
doc:
the a4,py for doc
file:D:\python\case\a4.py
~~~~~~~~~b1~~~~~~~~~~~
package: 不属于任何包
name:__main__
doc:没有注释
file:b1.py
总结:
(1)name:当模块是入口文件时,name会显示为_main_。
(2)package:当模块是入口文件时,package会显示不会显示模块对应的包,即使在文件的目录中有文件的包,也不会显示。
(3)file:当模块是入口文件时,不会显示出模块所在的电脑的路径,跟执行python命令所在目录是有关系的。
针对总结中的(3)做案例的解析
(环境)
(1)在a4.py中写入:
print('package: '+ ( __package__ or '不属于任何包'))
print('name:'+__name__)
print("doc:" + (__doc__ or '没有注释'))
print("file:"+__file__)
(2)终端写入:PS D:\python\case> python a4.py时,file的结果
PS D:\python\case> python a4.py
package: 不属于任何包
name:__main__
doc:没有注释
file:a4.py
(3)终端写入:PS D:\python> python case\a4.py时,file的结果:
PS D:\python> python case\a4.py
package: 不属于任何包
name:__main__
doc:没有注释
file:case\a4.py