美文网首页
python之 if __name__ == "__main__

python之 if __name__ == "__main__

作者: _沉梦昂志 | 来源:发表于2018-04-17 21:21 被阅读0次

    首先,python不像java、C那样,有内置好的“main函数”这样的程序入口。

        一般的python程序都是从第一行开始运行,没有统一的入口。

    2.一个python源文件除了可以直接运行,还可以作为模块(库)被导入。不管是导入还是直接运行,“最顶层的代码都会被运行“(这句话的意思是,由于python仅仅是靠缩进来区分代码层次,因此只要处在最顶层的代码,都会被执行)。

    3.现实情况是,当我们作为模块调用的时候,有一部分代码我们是不希望被运行的。

    比如(转自知乎):


    # file one.py

    def func():

        print("func() in one.py")

    print("top-level in one.py")

    if__name__=="__main__":

        print("one.py is being run directly")

    else:

        print("one.py is being imported into another module")


    # file two.py

    import one

    print("top-level in two.py")

    one.func()

    if__name__=="__main__":

        print("two.py is being run directly")

    else:

        print("two.py is being imported into another module")

    如果你执行one.py文件,

    python one.py

    会输出:

    top-level in one.py

    one.py is being run directly


    如果你执行two.py文件,

    python two.py

    会输出:

    top-level in one.py

    one.py is being imported into another module

    top-level in two.py

    func() in one.py

    two.py is being run directly


    Thus, when module one gets loaded, its __name__ equals "one" instead of __main__.

    我就不翻译了首先我翻译的很丑其次我觉得英文更好理解。。。

    它就是上面这么用的。

    然后我觉得它的功能就是,让if __name__ == '__main__'它后面的代码不执行。这样代码运行会更简洁更流畅???因为只需要用想用的那部分就行了。。。

    相关文章

      网友评论

          本文标题:python之 if __name__ == "__main__

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