page contents

py文件的两种功能

py文件的两种功能

py文件的两种功能

 编写好的一个python文件可以有两种用途:
    一:脚本,一个文件就是整个程序,用来被执行
    二:模块,文件中存放着一堆功能,用来被导入使用
 
 #python为我们内置了全局变量__name__,
    当文件被当做脚本执行时:__name__ 等于'__main__'
    当文件被当做模块导入时:__name__等于模块名
 
 #作用:用来控制.py文件在不同的应用场景下执行不同的逻辑(或者是在模块文件中测试代码)
 
     
 举例:  
  # test.py
 print(123)
 if __name__ == '__main__':
     print(456)
 直接运行:
 123
 456
     
  # test2.py
 import test
 print(test.__name__) # test文件中的__name__
 print(__name__)      # test2文件中的__name__ (内置变量,是当前模块的名字)
 结果:
 123        # 这里只输出了123,没有456。原因:作为文件导入到其他文件时,__name__ = 模块名(即文件名字)。此处为 __name__ = test
 test  # 自己调用(作为脚本执行),则为__main__(即test.py)
     
  __name__ 是内置变量,用于表示当前模块的名字,同时还能反映一个包的结构。
 if __name__ == '__main__' 相当于是 Python 模拟的程序入口,这是一种编码习惯,由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个;我们简单的理解就是: 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。
 
     看到这里应该能明白,自己的 __name__ 在自己用时就是__main__; 当自己作为模块被调用时就是自己的名字。比如:我管自己叫我自己,别人叫我(作为模块被调用)叫我Wilia。  

  • 发表于 2021-08-18 17:23
  • 阅读 ( 523 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Wilia
Wilia

28 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章