广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的if __name__ == __main__是什么
  • 921
分享到

Python中的if __name__ == __main__是什么

2023-07-04 18:07:20 921人浏览 薄情痞子

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

摘要

本文小编为大家详细介绍“python中的if __name__ == __main__是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的if __name__ ==&nb

本文小编为大家详细介绍“python中的if __name__ == __main__是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的if __name__ == __main__是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1. 引言

在Python相关代码中,我们经常会遇到如下代码段:

# stuffif __name__ == "__main__":    # do stuff

请注意,上述代码中namemain前后有2个下划线字符。

2. 特殊变量

当我们正常运行我们的Python脚本时,该脚本中的变量__name__的值一般为__main__。我们来看个示例:

# first.pyprint(__name__)

我们在终端中运行上述脚本,代码如下:

python first.py

输出如下:

__main__

观察上述输出,当我们运行脚本first.py的时候,变量__name__的值被设置为__main__

3. 复杂的例子

上述示例相对简单,也相对容易理解。接着我们来举个具有多个文件的例子,这里假设我们有三个脚本,分别为a.py,b.py以及c.py

其中,a.py的内容如下:

# a.pyprint("__name__ in a.py:", __name__)from b import *from c import *

此时,b.py的内容如下:

# b.pyprint("__name__ in b.py:", __name__)

c.py的内容如下:

# c.pyprint("__name__ in c.py:", __name__)

如果我们运行命令python a.py得到结果如下:

__name__ in a.py: __main__
__name__ in b.py: b
__name__ in c.py: c

注意在脚本a.py中我们看到__name__的值为__main__,此时在脚本b.py__name__的值为b, 同时 c.py__name__的值为c。这是因为我们运行的脚本为a.py,那么该脚本即a.py中变量__name__的值将会被设置为字符串__main__.

此外,脚本b.pyc.py中的变量·__name__分别保持为bc,这是因为脚本b.pyc.py不是直接运行的脚本。而是我们运行的脚本a.py调用了b.pyc.py中的print函数。

如果我们单独运行python b.py得到结果如下:

__name__ in b.py: __main__

相应的我们运行python c.py,得到结果如下:

__name__ in c.py: __main__

观察上述两个输出,当我们直接运行脚本b.pyc.py,相应的脚本里的变量__name__都将被设置为__main__

4. 使用场景

作为python开发者,我们通常会在一个项目工程中创建多个Python文件而不是将所有代码都写在一个Python文件中。因此我们通常会有一个主的Python文件用来作为项目工程的入口,同时其他文件包含一些辅助性的函数实现。

我们来看个示例,这里假设我们有两个Python文件,如下:

# main.pyfrom helper import *print(greet("bob"))

辅助函数实现 helper.py内容如下:

# helper.pydef greet(name):    return "hello " + nameprint(greet("testname"))

如果此时我们运行命令 python main.py,得到结果如下:

hello bob
hello testname

主要上述的import语句将从helper.py中引入所有的语句,所以helper.py中的测试语句print(greet("testname"))也将被执行。虽然我们可以通过添加注释或者屏蔽注释来达到运行main.pyhelper.py来控制该测试语句的输出,但是这种情形就是语句
if __name__=="__main__" 大显身手的情形。

5. 解决方案

我们针对上述情形,进行代码整改,如下:

# main.pyfrom helper import *print(greet("bob"))

我们修改文件 helper.py内容如下:

def greet(name):    return "hello " + nameif __name__ == "__main__":    print(greet("testname"))

此时,我们执行命令python main.py,得到结果如下:

hello bob

注意,此时helper.py 中的变量 __name__的值为helper, 所以helper.py中的if语句不成立,进而将不会执行我们的测试语句print(greet("testname")).

此时,如果我们单独运行命令python helper.py ,得到结果如下:

hello testname

单独运行helper.py时,此时改脚本中的变量__name__将被设置为__main__,所以此时的测试语句将会被执行,输出相应的测试结果。

读到这里,这篇“Python中的if __name__ == __main__是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网Python频道。

--结束END--

本文标题: Python中的if __name__ == __main__是什么

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

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

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

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

下载Word文档
猜你喜欢
  • 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中if __name__==‘__main__‘用法详情
    前言: 我们先定义一个test01.py的文件。 test01.py中代码如下所示: def step(): print(__name__) print('step1 买菜...
    99+
    2022-11-11
  • Python代码中if __name__ == ‘__main__‘有什么作用
    本篇内容介绍了“Python代码中if __name__ == ‘__main__‘有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希...
    99+
    2023-06-29
  • 一文弄懂Python中的 if __name__ == __main__
    1. 引言 在Python相关代码中,我们经常会遇到如下代码段: # stuffif __name__ == "__main__": # do stuff 本文将尽可能使用简单的样例来解释这里发...
    99+
    2023-09-10
    python pycharm 开发语言
  • 关于Python中的if __name__ == __main__详情
    目录1.程序入口2.__name__是什么? 场景1:直接运行脚本 场景2:从其他脚本导入 3.__name__可以显示包路径 5.测试模块里函数 关于在学习Python的过程中,遇...
    99+
    2022-11-12
  • 聊聊Python代码中if __name__ == ‘__main__‘的作用是什么
    目录Python中if __name__ == ‘__main__‘作用补充:if __name__ == '__main__':的运行原理总...
    99+
    2022-11-13
  • 一篇文章彻底弄懂Python中的if __name__ == __main__
    目录1. 引言2. 特殊变量3. 复杂的例子4. 使用场景5. 解决方案6. 总结1. 引言 在Python相关代码中,我们经常会遇到如下代码段: # stuff if __name...
    99+
    2022-12-08
    Python if __name__ == __main__ if__name__=='__main__'的作用 if __name__=='__main__'
  • Python编程中的if __name__ == 'main' 的作用和原理是什么
    这篇文章主要介绍“Python编程中的if __name__ == 'main' 的作用和原理是什么”,在日常操作中,相信很多人在Python编程中的if __name__ == 'main' 的作用和原理是...
    99+
    2023-06-16
  • Python的__name__变量有什么作用
    本篇内容主要讲解“Python的__name__变量有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的__name__变量有什么作用”吧!我知道大家肯定不止一次在Python...
    99+
    2023-06-01
  • python中为什么 if/while/
    python中冒号主要用于增强可读性(ABC语言实验的结果之一)。考虑一下这个: if a == b print(a)   与 if a == b: print(a)   注意第二种方法稍微容易一些...
    99+
    2023-01-31
    中为 python
  • java中的if是什么意思
    java中的if是条件语句的引导词,一个if语句包含一个布尔表达式和一条或多条语句。if关键字指示有条件地执行代码块。条件的计算结果必须是布尔值。语法if 语句的语法如下: (推荐学习:java课程)if(布尔表达式)...
    99+
    2020-01-09
    java入门 java
  • if在java中是什么意思
    java中if是控制分支结构的,意思是如果条件成立的话,执行某段代码。if语句一个if语句包含一个布尔表达式和一条或多条语句。语法If语句的用语法如下:if(布尔表达式) { //如果布尔表达式为true将执行的语句 }如果布尔表达式的值为...
    99+
    2021-05-09
    java入门 if java
  • java中if和while的区别是什么?
    java中if和while的区别是什么?while和if本身就用法不同,一个是循环语句,一个是判断语句。if 就是一个判断的,如果满足后面的条件就继续运行if语句里面的东西的,要是不满足就跳出来,执行else语句或执行下面的语句的 。whi...
    99+
    2021-03-09
    java教程 java if while
  • Python if else条件语句形式是什么
    本篇内容介绍了“Python if else条件语句形式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们都知道代...
    99+
    2023-06-29
  • python if测试和语法规则是什么
    这篇文章主要讲解了“python if测试和语法规则是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python if测试和语法规则是什么”吧!一、概述Python条件语句是通过一条或多...
    99+
    2023-06-04
  • 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
  • Python中的if语句是如何工作的?
    Python中的if语句是如何工作的?在Python中,if语句是一种条件语句,用于根据特定的条件来执行不同的代码块。当条件满足时,if语句中的代码块将被执行,否则将被跳过。if语句的基本语法如下:if 条件: # 条件满足时执行的...
    99+
    2023-10-22
    Python的if语句工作方式
  • vue中v-if和v-for的区别是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。首先在官方文档中明确指出v-for和v-if不建议一起使用。一、v-if和v-for的作用v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true...
    99+
    2023-05-14
    vue3 v-if v-for
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作