name__属性是Python的一个内置属性,记录了一个字符串
若是在当前文件,name 是__main。
在hello文件中打印本文件的__name__属性值,显示的是__main__
当前文件为test.py 代码如下
print('文件test.py的__name__的值为:',__name__)
if __name__=='__main__':
print('two')
结果为:
当我们在import_test.py中调用test.py这个文件时(也就是import test),test.py的__name__值就变为了test,而__main__成为了当前文件import_test.py的__name__的值,而test.py中if name==‘mian’:后边的语句没有执行,因为在test.py文件中__name__不等于__main__,等于test
import test
print('文件import_test.py的__name__的值为:',__name__)
结果为:
如果将test.py文件中的if条件换为 name==‘test’:, 再执行import_test.py
结果为:
总结:个人认为在写某个模块时,总要举几个数据,测试运行册数一下检查效果,然后再调用此模块时,不能让测试的部分运行,因此要应用if name==‘main’:语句,屏蔽掉测试的部分。
以上仅为个人见解,不足之处请批评指正。