美文网首页
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