您当前的位置: 首页 >  Python

Xavier Jiezou

暂无认证

  • 0浏览

    0关注

    394博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Python】if __name__ == ‘__main__‘:

Xavier Jiezou 发布时间:2021-06-16 17:26:55 ,浏览量:0

简介

如果你只写了一个.py文件,即不涉及到多个.py文件之间的调用问题,那么可以不加if __name__ == '__main__':,例如我写了一个a.py文件。

代码

# a.py
def func_a():
	print('this is func_a in a.py')
func_a()

输出(执行a.py

this is func_a in a.py

实际项目开发中,往往需要写多个.py文件,会涉及到不同.py文件的调用。例如我写了两个文件a.pyb.pyb.py需要调用a.py中的函数。 目录

├─test
|  ├─a.py
|  ├─b.py

代码

# a.py
def func_a():
	print('this is func_a in a.py')
func_a()
# b.py
from a import func_a
func_a()

输出(执行b.py

(执行`b.py`)
this is func_a in a.py

那么问题就来了,执行b.py时会打印两次this is func_a in a.py。原因是import的时候会执行一次函数,接下来又执行了一次函数,所以就会有两行输出。解决方案就是在a.py中执行func_a函数时加入if __name__ == '__main__':,具体更改如下:

# a.py
def func_a():
	print('this is func_a in a.py')
if __name__ == '__main__':
	func_a()

综上,使用if __name__ == '__main__':可以实现不同.py文件间只调用模块而不执行的目的。此外,即使你只写了一个.py文件,也推荐使用if __name__ == '__main__':

参考

https://blog.csdn.net/yjk13703623757/article/details/77918633/

关注
打赏
1661408149
查看更多评论
立即登录/注册

微信扫码登录

0.0417s