广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python代码中if __name__ == ‘__main__‘有什么作用
  • 838
分享到

Python代码中if __name__ == ‘__main__‘有什么作用

2023-06-29 13:06:48 838人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python代码中if __name__ == ‘__main__‘有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

本篇内容介绍了“python代码中if __name__ == ‘__main__‘有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Python中if __name__ == ‘__main__‘作用

要搞清楚这个问题,要知道以py作为后缀的Python代码文件,有两种使用方式,第一种方式是直接运行,另一种方式是作为模块被别的py文件导入。

当采用第一种方式直接运行自身时,__name__的值为__main__;

当采用第二种方式被别的模块导入时,其__name__的值为其文件名(通常也称为模块名);

举例实测如下:

PyCharm新建一个Python工程后,新建两个py文件,文件名分别为AAA.py和BBB.py

然后在AAA.py中写上如下代码:

print('当前AAA.py中__name__的值为:', __name__)

在BBB.py中写上如下代码:

import AAA

然后分别运行这两个Python文件,结果如下:

运行AAA.py的结果如下:

Python代码中if __name__ == ‘__main__‘有什么作用

运行BBB.py的结果如下:

Python代码中if __name__ == ‘__main__‘有什么作用

这个示例除了应证了上面说的py文件的两种使用方式,还表明使用import导入py文件/模块时,这个被导入的py文件中没有缩进的代码会被全部执行一遍。

这样就带来了一个问题,如果我在导入模块AAA.py时如果有想代码不想被执行,那么该怎么做呢?语句“if __name__ == ‘__main__’”就能实现这个作用,具体怎么用,有朋友看了上面的例子应该已经明白了,如果还不明白,请看下面这个例子:

修改上面的AAA.py的代码为如下代码:

print('\n')print('当前AAA.py中__name__的值为“{}”'.fORMat(__name__))if __name__ == '__main__':    print('\n')    print('当前运行的文件是AAA.py')else:    print('\n')print('当前AAA.py是作为模块被其它py文件导入')

再次分别运行AAA.py和BBB.py,结果分别如下:

Python代码中if __name__ == ‘__main__‘有什么作用

Python代码中if __name__ == ‘__main__‘有什么作用

可见通过语句“if __name__ == ‘__main__’,就能判断出一个py文件是直接运行还是作为模块文件被别的py文件导入的,进而通过这个判断实现一些代码的不被执行。

那么通常来说哪些代码不希望被执行呢?当文件被作者定义为一个模块时,里面难免含有一些测试代码,当模块被import时,这些代码是不希望被执行的。

补充:if __name__ == '__main__':的运行原理

每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 __name__,当该模块被直接执行的时候,__name__ 等于文件名(包含后缀 .py );如果该模块 import 到其他模块中,则该模块的 __name__ 等于模块名称(不包含后缀.py)。

 “__main__” 始终指当前执行模块的名称(包含后缀.py)。进而当模块被直接执行,__name__ == 'main' 结果为真。

为了进一步说明,我们在 test.py 脚本的 if __name__=="__main__": 之前加入 print(__name__),即将 __name__ 打印出来。文件内容和结果如下:

Python代码中if __name__ == ‘__main__‘有什么作用

Python代码中if __name__ == ‘__main__‘有什么作用

可以看出,此时变量__name__的值为"__main__"。

再执行 import_test.py,执行结果如下:

Python代码中if __name__ == ‘__main__‘有什么作用

Python代码中if __name__ == ‘__main__‘有什么作用

此时,test.py中的__name__变量值为 test,不满足 __name__=="__main__" 的条件,因此,无法执行其后的代码。

“Python代码中if __name__ == ‘__main__‘有什么作用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python代码中if __name__ == ‘__main__‘有什么作用

本文链接: https://www.lsjlt.com/news/324954.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python代码中if __name__ == ‘__main__‘有什么作用
    本篇内容介绍了“Python代码中if __name__ == ‘__main__‘有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希...
    99+
    2023-06-29
  • 聊聊Python代码中if __name__ == ‘__main__‘的作用是什么
    目录Python中if __name__ == ‘__main__‘作用补充:if __name__ == '__main__':的运行原理总...
    99+
    2022-11-13
  • Python中的if __name__ == __main__是什么
    本文小编为大家详细介绍“Python中的if __name__ == __main__是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的if __name__ ==&nb...
    99+
    2023-07-04
  • Python中if __name__==‘__main__‘怎么使用
    这篇文章主要介绍“Python中if __name__==‘__main__‘怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中if __name__==‘__...
    99+
    2023-07-02
  • Python的__name__变量有什么作用
    本篇内容主要讲解“Python的__name__变量有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的__name__变量有什么作用”吧!我知道大家肯定不止一次在Python...
    99+
    2023-06-01
  • Python编程中的if __name__ == 'main' 的作用和原理是什么
    这篇文章主要介绍“Python编程中的if __name__ == 'main' 的作用和原理是什么”,在日常操作中,相信很多人在Python编程中的if __name__ == 'main' 的作用和原理是...
    99+
    2023-06-16
  • python列表中if语句有什么用
    这篇文章主要介绍了python列表中if语句有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、在遍历的时候对特殊元素进行筛查,即使用for循环可以对列表中的元素进行遍...
    99+
    2023-06-20
  • python中if-elif-else语句有什么用
    小编给大家分享一下python中if-elif-else语句有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明Python提供的if-elif-else结...
    99+
    2023-06-20
  • CSS代码有什么作用
    这篇文章主要介绍“CSS代码有什么作用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS代码有什么作用”文章能帮助大家解决问题。一、了解什么是  &nb...
    99+
    2022-10-19
  • golang中的代码注释有什么作用
    这篇文章主要介绍了golang中的代码注释有什么作用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇golang中的代码注释有什么作用文章都会有所收获,下面我们一起来看看吧。一、注释的作用在代码编写中,注释起着非...
    99+
    2023-07-05
  • Python爬虫中使用代理IP有什么作用
    本篇内容主要讲解“Python爬虫中使用代理IP有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫中使用代理IP有什么作用”吧!web爬虫程序会大规模爬网数据,所以为了避免...
    99+
    2023-06-20
  • 在Python代码中初学者常用代码是什么
    今天就跟大家聊聊有关在Python代码中初学者常用代码是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。主要记录初学者常用的一些代码:获取当前时间# -*- c...
    99+
    2023-06-17
  • Python中的Python-tesseract有什么作用
    这篇文章主要介绍“Python中的Python-tesseract有什么作用”,在日常操作中,相信很多人在Python中的Python-tesseract有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-02
  • Python工作中代理IP有什么重要性
    这期内容当中小编将会给大家带来有关Python工作中代理IP有什么重要性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。目前,中国的互联网大军正在不断壮大,各种各样依托互联网的新兴行业正在兴起,哪怕是很多传...
    99+
    2023-06-04
  • python中的tokenize有什么作用
    在Python中,tokenize的作用是将文本分解为独立的词或符号,称为“标记”。这些标记可以是单词、句子、段落或更大的文本单位,...
    99+
    2023-08-18
    Python
  • Python中的Dask有什么作用
    本篇内容主要讲解“Python中的Dask有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的Dask有什么作用”吧!前言Python由于其易用性而成为最流行的语言,它提供了...
    99+
    2023-06-16
  • python中函数有什么作用
    python中函数有什么作用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整...
    99+
    2023-06-14
  • python中map迭代器的作用是什么
    在Python中,`map()`函数是一个迭代器函数,它的作用是将一个函数应用到一个或多个可迭代对象的元素上,生成一个新的可迭代对象...
    99+
    2023-09-28
    python
  • java中构造代码块的作用是什么
    java中构造代码块的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的...
    99+
    2023-06-14
  • Python中len函数有什么作用
    len函数用于计算对象的长度或元素的个数。它适用于多种数据类型,包括字符串、列表、元组、字典等。在字符串中,len函数返回字符串中字...
    99+
    2023-10-11
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作