美文网首页
python中语句的if __name__ == "__main

python中语句的if __name__ == "__main

作者: Joyner2018 | 来源:发表于2024-06-19 08:12 被阅读0次

近日一个朋友和我说,python中if name == "main"下的语句是优于全局的变量执行的。这个认识和我以前的认知是不一样,因此我做实验进行验证了一下

(1)验证python语句的执行顺序

代码

print("A")
if __name__=="__main__":
    print("B")

运行结果如下:

A
B
[Finished in 74ms]

结论:
python的中的代码是按顺序执行,开始朋友的这个观点是不对的

(2)既然是按照顺序执行,那么if name=="main"语句有什么用呢?

为了搞清楚这个问题。我找了相关资料,参考[1]
简单说来,就是如果文件作为包引用的时候,就不会执行if name=="main"下面的内容
验证代码如下
wzw.py

print("1,test-A")
print(1,__name__)
if __name__=="__main__":
    print("1,test-B")

test2.py

from wzw import *
print("2:A") 
print(2,__name__)
if __name__=="__main__":
    print("2:B")

执行wzw.py的输出为

1,test-A
1 __main__
1,test-B
[Finished in 83ms]

执行test2.py的输出为

1,test-A
1 wzw
2:A
2 __main__
2:B
[Finished in 107ms]

结论
验证代码的运行结果,证明前面的观点是正确的。

参考

[1] 详解if name == ‘main‘ (看这一篇就够了) https://blog.csdn.net/weixin_43135178/article/details/130482007

相关文章

网友评论

      本文标题:python中语句的if __name__ == "__main

      本文链接:https://www.haomeiwen.com/subject/aeltcjtx.html