点这里,搜索淘宝优惠券!
点这里,搜索淘宝优惠券!

6 if __name__ == '__main__'

【.py文件执行过程示例】

  python可执行文件,即以 .py 或 .pyw为后缀的文件中,没有类似于C/C++ 的main函数。【注】.pyw 在Windows环境下表明这是一个GUI程序文件,以.pyw为后缀,执行时不会显示控制台窗体。

  python解释器,遇到代码段即执行。以一段代码执行过程为例:

 1 import sys
 2 from math import *
 3         
 4 def say_hello():
 5         print('say_hello')
 6 
 7 print('good morning')
 8 
 9 if __name__ == '__main__':
10     print('name = ',__name__) #使用逗号会在逗号之后的字符串之前添加一个空格

  python name.py 执行过程如下:

  1-导入 sys 导入math

  2-定义 say_hello()程序,猜测解析到此处时,在内存中生成函数

  3-执行print()代码

  4-执行 if 段代码

通俗的理解

  模块被直接执行时__name__ == '__main__' ; 模块被导入其它文件时,__name__ ==  '模块文件名'

  if __name__ == '__main__': 最终结果

    当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。

  【用途】

  文件当中的测试代码:

 1 # 模块文件 mo.py
 2 
 3 def func_a():
 4     '''函数 func_a 函数体...'''
 5 
 6 def func_b():
 7     ''‘’函数 func_b 函数体...'''
 8 
 9 def test():
10     '''测试函数函数体...'''
11 
12 if __name__ = '__main__':
13     test()

  只有在直接执行模块时,执行测试代码,当作为模块导入时,测试代码不会执行。

posted @ 2018-09-06 10:17  chd_ailex  阅读(279)  评论(0)    收藏  举报