最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • if __name__ =__main__ 在 Python 中做什么?

    if __name__ =

    你可能在 python 脚本中经常看到这行代码 if __name__==”__main__”: ,但不知道它的实际用途是什么。别担心,因为在这个简短的博客中我们将讨论这个

    当您直接运行程序或脚本时,python 会自动将“main”分配给特殊的name变量。这样做基本上是为了表明该文件是此处的“主”脚本,并且正在直接运行而不是导入到另一个脚本中。

    要理解这一点,请创建一个新的 python 脚本,假设将其命名为“example.py”并写入:

    print("name of script: ", __name__)
    

    运行此命令,您将看到输出的脚本名称:__main__。这只是因为文件是直接运行的。

    现在,创建另一个python脚本文件并将example.py导入到这个文件中。运行它,您将看到不同的结果,显示“脚本名称:示例”。这只是因为现在我们不是直接运行它,而是导入脚本并间接运行它。因此,python 现在显示文件的实际名称。

    立即学习Python免费学习笔记(深入)”;

    让我们对示例文件进行一些更改,以便我们更好地理解它。

    def s_name():
        print("name of script: ", __name__)
    
    s_name()
    
    def greet():
        print("hello! how are you doing?")
    
    if __name__=="__main__":
        greet()
    
    

    现在,如果您直接运行此命令,一切都会完美执行,但如果您运行导入 example.py 脚本的其他文件,您会注意到greet 函数调用未执行。这是为什么?

    这是因为 if 条件。条件的作用是检查文件是否正在直接运行。如果直接运行,main将被分配给特殊变量name,这将使这个条件成立,并且条件内的所有内容都将照常运行。

    但另一方面,如果您将其导入另一个文件并从那里间接运行它,那么条件语句将不为真,并且放置在条件中的任何内容都不会被执行。

    这就是这个条件语句的意义。 当我们将脚本作为模块导入时,它可以防止python解释器自动运行不必要的代码行。

    但是,即使我们将脚本作为模块导入,我们也可以调用这些函数。例如:

    import example
    
    example.greet()
    

    这样,即使条件不满足,我们也可以完美地调用导入模块中的任何函数。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » if __name__ =__main__ 在 Python 中做什么?
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 291稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情