正确理解Python中if __name__ == '__main__'

 更新时间:2019年01月24日 09:56:35   作者:youzhouliu  
今天小编就为大家分享一篇关于正确理解Python中if __name__ == '__main__' ,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

在Python,我们经常会编写

if __name__ == '__main__' 

这么一段代码,这段代码该怎么来理解?

这段代码的功能理解如下:

一个python的文件有两种使用的方法:

  • 作用一,直接作为脚本执行。
  • 作用二,import到其他的python脚本中被调用(模块重用)执行。

if __name__ == '__main__': 的作用就是控制这两种情况执行代码的过程,在if __name__ == '__main__': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。

运行原理

每个python模块(python文件)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'结果为真;而当模块被import到其他模块中时,__name__ == '__main__'结果为假,就是不调用对应的方法。

简而言之就是:__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。当模块被直接运行时,代码将被运行,当模块是被导入时,代码不被运行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Python super()函数使用及多重继承

    Python super()函数使用及多重继承

    这篇文章主要介绍了Python super()函数使用及多重继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 快速掌握python权限功能设计实战指南

    快速掌握python权限功能设计实战指南

    在处理权限控制时,装饰器能帮助我们以一种统一且简洁的方式管理不同用户对系统资源的访问权限,本文将通过几个简单的示例逐步展示如何利用Python装饰器实现从基础到复杂的权限控制功能
    2024-01-01
  • 使用Python实现解析HTML的方法总结

    使用Python实现解析HTML的方法总结

    HTML(Hypertext Markup Language)是互联网世界中的通用语言,用于构建网页,本文主要为大家介绍了如何使用Python解析HTML,包括各种方法和示例代码,希望对大家有所帮助
    2023-11-11
  • 生成Jupyter Lab快捷方式的小技巧

    生成Jupyter Lab快捷方式的小技巧

    这篇文章主要介绍了生成Jupyter Lab快捷方式的小技巧,操作迅猛,花费时间少,步骤详细,有需要的朋友可以参考下,希望可以对广大读者朋友有所帮助
    2021-09-09
  • python实现串口自动触发工作的示例

    python实现串口自动触发工作的示例

    今天小编就为大家分享一篇python实现串口自动触发工作的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 五种Python转义表示法

    五种Python转义表示法

    这篇文章主要介绍了五种Python转义表示法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python学习笔记之if语句的使用示例

    Python学习笔记之if语句的使用示例

    python的if语句和其他语言有些不同,它没有用括号来表示代码块,而是使用缩进,现在乍听一下你可能不太明白,所以下面这篇文章主要给大家介绍了关于Python学习笔记之if语句使用的相关资料,需要的朋友可以参考下。
    2017-10-10
  • python中validators库的使用方法详解

    python中validators库的使用方法详解

    这篇文章主要介绍了python中validators库的使用方法详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • python实现在无须过多援引的情况下创建字典的方法

    python实现在无须过多援引的情况下创建字典的方法

    这篇文章主要介绍了python实现在无须过多援引的情况下创建字典的方法,是非常实用的技巧,需要的朋友可以参考下
    2014-09-09
  • Python3.5 + sklearn利用SVM自动识别字母验证码方法示例

    Python3.5 + sklearn利用SVM自动识别字母验证码方法示例

    这篇文章主要给大家介绍了关于Python3.5 + sklearn利用SVM自动识别字母验证码的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05

最新评论