if __name__ == '__main__'到底干了什么?(关键词:Python、__name__、__main__)
2017-08-11 22:07
609 查看
一句话:
1.在导入本模块时,防止模块的代码被执行两次。(补充说明:模块就是.py文件)
2.判断是否直接运行该.py文件。
什么意思?直接上代码:
(先上不带if __name__ == '__main__'的代码)
# foo.py
# coding:utf-8
def foo():
print "in foo"
print __name__ # foo.py单独执行时,可以打印出本模块(即foo.py文件)的名字(即foo)
foo()执行结果:
__main__
in foo
foo
in foo
in foo
-----------------------------------分割线-----------------------------------
(下面在foo.py中添加if __name__ == '__main__')
# foo.py
# coding:utf-8
def foo():
print "in foo"
print __name__ # foo.py单独执行时,可以打印出本模块(即foo.py文件)的名字(即foo)
if __name__ == '__main__':
foo()执行结果:
__main__
in foo
foo
in foo
一目了然,至于为什么会这样,我暂时还没搞清楚,也没时间分析。
暂时只要记住,写好的.py文件,都加上if __name__ == '__main__'。
参考文献:
1.这样理解python中的if __name__ == '__main__'
2.python中if __name__ == '__main__': 的解析
1.在导入本模块时,防止模块的代码被执行两次。(补充说明:模块就是.py文件)
2.判断是否直接运行该.py文件。
什么意思?直接上代码:
(先上不带if __name__ == '__main__'的代码)
# foo.py
# coding:utf-8
def foo():
print "in foo"
print __name__ # foo.py单独执行时,可以打印出本模块(即foo.py文件)的名字(即foo)
foo()执行结果:
__main__
in foo
# coding:utf-8 import foo foo.foo()执行结果:
foo
in foo
in foo
-----------------------------------分割线-----------------------------------
(下面在foo.py中添加if __name__ == '__main__')
# foo.py
# coding:utf-8
def foo():
print "in foo"
print __name__ # foo.py单独执行时,可以打印出本模块(即foo.py文件)的名字(即foo)
if __name__ == '__main__':
foo()执行结果:
__main__
in foo
# coding:utf-8 import foo foo.foo()执行结果:
foo
in foo
一目了然,至于为什么会这样,我暂时还没搞清楚,也没时间分析。
暂时只要记住,写好的.py文件,都加上if __name__ == '__main__'。
参考文献:
1.这样理解python中的if __name__ == '__main__'
2.python中if __name__ == '__main__': 的解析
相关文章推荐
- python:if __name__ == '__main__'到底有什么用?
- python中的if __name__ == '__main__'有什么用
- Python中if __name__ == "__main__"是什么作用
- Python里的if __name__ == "__main__"是什么意思?
- python中 if __name__=='__main__' 是什么意思
- Python基础知识——python中的if __name__ == "__main__"运用
- Python:if __name__ == '__main__'
- Python 中的 if __name__ == '__main__'理解
- (Tensorflow之五)Python 中 if __name__ = '__main__'
- Python 的 if __name__ == '__main__' 该如何理解
- Python: if __name__ == "__main__"
- eclipse下python调试if __name__ == '__main__':不执行的问题
- 关于python中的if __name__==‘__main__’:
- Python命令 (if __name__=="__main__":)
- Python中if __name__ == '__main__':作用
- Python中if __name__ == '__main__':作用
- python中if __name__ == '__main__': 的解析
- python中if __name__ == '__main__': 的解析
- python中 if __name__ == '__main__ '的详细解析
- 关于python函数中的if __name__ =="__main__"语句