很多模块里都会看到这句话,一般用于模块自测时使用。

 

所有的模块都有一个内置属性 __name__。

一个模块的 __name__ 的值取决于您如何应用模块。

 

一个Python文件有两种使用方式,直接使用或者是作为模块使用。

1.如果像一个标准的程序那样,直接运行模块,在这种情况下 __name__ 的值将是一个缺省"__main__":

#创建一个名叫task.py的文件,内容如下:

print("This is task.py")
print"Name is:",__name__)
if __name__ =="__main__":
    print 'hello,my name is main'

if __name__ =="task":
    print 'hello,my name is task'
#运行之后结果是;
#This is task.py
#Name is: __main__
#hello,my name is main

 

2. 如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。

#新建一个test.py文件,把task.py作为一个模块导入
import task

#结果如下
#This is task.py
#name is: task
#hello,my name is task

 

所以说模块自测的时候,写在if __name__ == '__main__':里的代码,会直接执行;

作为模块被调用的时候,写在if __name__ == '__main__':里的代码,不会被执行。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
  • 2021-06-24
  • 2022-12-23
  • 2021-08-21
  • 2022-02-20
猜你喜欢
  • 2021-12-05
  • 2021-06-11
  • 2021-12-22
  • 2022-01-17
  • 2021-11-18
  • 2021-08-22
  • 2021-11-22
相关资源
相似解决方案