正确理解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__ 。当模块被直接运行时,代码将被运行,当模块是被导入时,代码不被运行。

总结

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

相关文章

  • Django使用Jinja2模板引擎的示例代码

    Django使用Jinja2模板引擎的示例代码

    这篇文章主要介绍了Django使用Jinja2模板引擎的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python随机采样及概率分布(二)

    Python随机采样及概率分布(二)

    之前的《Python中的随机采样和概率分布我们介绍了Python中最简单的随机采样函数。接下来我们更进一步,来看看如何从一个概率分布中采样,我们以几个机器学习中最常用的概率分布为例。
    2022-01-01
  • 使用python实现两数之和的画解算法

    使用python实现两数之和的画解算法

    这篇文章主要介绍了使用python实现两数之和的画解算法,采用实例问题的描述来进行问题分析,并给出用暴力求解和哈希表两种方法解决方案,有需要的朋友可以参考下
    2021-08-08
  • Python 通过截图匹配原图中的位置(opencv)实例

    Python 通过截图匹配原图中的位置(opencv)实例

    今天小编就为大家分享一篇Python 通过截图匹配原图中的位置(opencv)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python开发中range()函数用法实例分析

    python开发中range()函数用法实例分析

    这篇文章主要介绍了python开发中range()函数用法,以实例形式较为详细的分析了Python中range()函数遍历列表的相关技巧,需要的朋友可以参考下
    2015-11-11
  • k-means 聚类算法与Python实现代码

    k-means 聚类算法与Python实现代码

    这篇文章主要介绍了k-means 聚类算法与Python实现代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 关于python中@property的使用方法

    关于python中@property的使用方法

    这篇文章主要介绍了关于python中@property的使用方法,@property装饰器会将方法转换为同名的只读属性,它可以与所定义的属性配合使用,需要的朋友可以参考下
    2023-07-07
  • python3.5 + PyQt5 +Eric6 实现的一个计算器代码

    python3.5 + PyQt5 +Eric6 实现的一个计算器代码

    这篇文章主要介绍了python3.5 + PyQt5 +Eric6 实现的一个计算器代码,在windows7 32位系统可以完美运行 计算器,有兴趣的可以了解一下。
    2017-03-03
  • Python装饰器用法实例总结

    Python装饰器用法实例总结

    这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python常用装饰器的概念、功能、使用方法及相关注意事项,需要的朋友可以参考下
    2018-02-02
  • python中内置库os与sys模块的详细介绍

    python中内置库os与sys模块的详细介绍

    这篇文章主要介绍了python中内置库os与sys模块的详细介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08

最新评论