学习python语法的过程中碰到了__name__=='__main__'
,这里做个笔记。
作用
这段代码的作用就是让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。
测试
先写一个test.py文件,代码如下
# test.py
def print_name():
print('hello, %s' % __name__)
if __name__ == '__main__':
print_name()
运行这段代码,得到结果hello, __main__
,显然这里的__name__的值就是_main_。
那我们再写一个t.py,导入test.py的print_name方法
# t.py
from test import print_name
print_name()
运行这段代码,得到结果hello, test
,并且test.py的print_name()方法并没有执行。两次运行得到了不同的_name_,这样就使得原test.py的方法不会运行,即**_name_!=’_main_’**
尝试
试试把test.py中的if __name__ == '__main__':
去掉,会是怎样的答案呢?
如有不当之处欢迎指出!