首页 > 后端开发 > Python教程 > `if __name__ == '__main__':` 在 Python 中做什么,为什么它很重要?

`if __name__ == '__main__':` 在 Python 中做什么,为什么它很重要?

Mary-Kate Olsen
发布: 2024-12-24 19:30:18
原创
920 人浏览过

What Does `if __name__ ==

if __name__ == "__main__": 会做什么?为什么要包含 if 语句?

此代码检查模块是否作为主程序运行(而不是作为模块导入)。如果它作为主程序运行,它将执行 if 语句中的代码。

为什么包含此语句?

  1. 防止意外的脚本执行:

    • 没有通过此检查,导入脚本(例如 import my_script)会无意中运行脚本的代码,即使您只想导入其函数/类。这可能会导致冲突或意外行为。
  2. 防止 pickle 问题:

    • pickling 在 a 中定义的类script 将触发脚本的执行并将脚本导入到 unpickling 环境中。这可能会导致命令行参数和其他特定于脚本的依赖项出现问题。

它是如何工作的?

  • __name__: 当 Python 执行脚本时,它会设置名称变量为“__main__。”
  • 导入模块:当您导入非主模块时,Python会将模块的名称分配给其__name__.

示例:

if __name__ == "__main__":
    print("This code will run when the script is executed.")

# This code will not run when the script is imported.
print("This code will only run when the script is imported.")
登录后复制

这确保第一个代码块仅在直接执行脚本时运行(例如, python my_script. py),而第二个代码块仅在该脚本导入到另一个脚本中时运行(例如, import

高级注意事项:

  • 多个name守卫:一般不建议有多个name 签入单个文件,因为这可能会导致意外
  • 自定义 name 值: 您可以在 if 语句之外手动设置 name 以测试不同的执行场景或提供更多控制脚本执行。

以上是`if __name__ == '__main__':` 在 Python 中做什么,为什么它很重要?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板