if __name__ == “__main__“: 理解

这篇具有很好参考价值的文章主要介绍了if __name__ == “__main__“: 理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

if __name__ == "__main__": 是 Python 中常用的一种条件判断语句,主要作用是在当前模块作为程序入口时执行一些特定的代码,而在被其它模块引入时不执行这些特定的代码

具体来说,当一个 Python 模块被导入时,Python 解释器会将该模块的文件名存储在内置变量 __name__ 中。如果该模块是主程序入口,则 __name__ 的值为字符串 "__main__",否则 __name__ 的值为该模块的文件名。

因此,当我们使用 if __name__ == "__main__": 进行条件判断时,只有当当前模块作为主程序入口时,才会执行 if 语句块内的代码。

这个语句的作用可以有以下几个方面:

  1. 模块测试:当我们新写一个模块时,可以在 if __name__ == "__main__": 语句块中编写测试代码,用于测试该模块的功能是否正确。

  2. 防止模块被导入时执行不必要的代码:有些模块在被导入时会自动运行一些代码,如果我们不希望这些代码在被导入时执行,可以把这些代码放到 if __name__ == "__main__": 语句块中。

  3. 方便调试: 在调试程序时,有时需要单独运行某个模块,此时将测试代码放在 if __name__ == "__main__": 语句块中可以方便地运行该模块。

综上所述,if __name__ == "__main__": 是一个常见的用法,可以帮助我们实现模块的测试、防止无用代码的执行和方便调试等。


1、对于存在if __name__ == "__main__":时候的代码执行顺序问题:

执行顺序是自上而下,不会先执行“__name__ == "__main__"”

# 执行顺序是自上而下,不会先执行“__name__ == "__main__"”

print("1、首先执行的位置")

def test_fun():
    print("我不会自己执行")

test_fun()

# 在当前模块作为程序入口时执行一些特定的代码,而在被其它模块引入时不执行这些特定的代码
def main():
    print("3、最后执行的位置")


if __name__ == "__main__":
    print("2、再次执行的位置")
    main()

if __name__ == “__main__“: 理解

 输出为:

1、首先执行的位置
我不会自己执行
2、再次执行的位置
3、最后执行的位置

2、为什么使用if __name__ == "__main__":

test_main.py文件:

# 执行顺序是自上而下,不会先执行“__name__ == "__main__"”

print("1、首先执行的位置")

def test_fun():
    print("我不会自己执行")

test_fun()

# 在当前模块作为程序入口时执行一些特定的代码,而在被其它模块引入时不执行这些特定的代码
def main():
    print("3、最后执行的位置")


if __name__ == "__main__":
    print("2、再次执行的位置")
    main()

other.py文件:

from test_main import test_fun

import test_main

 无论上面哪种调用test_main.py文件,都会执行下面的代码:

print("1、首先执行的位置")

def test_fun():
    print("我不会自己执行")

test_fun()

结果就是输出:

1、首先执行的位置
我不会自己执行

import该模块的时候就执行了在test_main.py文件中执行的函数“test_fun()”【不会执行只是定义def()而未调用的函数】,但是没有执行"main()",说明了if __name__ == "__main__"的作用:在当前模块作为程序入口时执行一些特定的代码,而在被其它模块引入时不执行这些特定的代码文章来源地址https://www.toymoban.com/news/detail-433555.html

到了这里,关于if __name__ == “__main__“: 理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《人生苦短——我学Python》条件判断->双向选择(if--else)

    今天我们来学习双向选择判断。顾名思义,双向就是两种选择选其一,即 if----else 。如果If的条件不成立,则执行 else 下的语句,否则执行 if 下面的语句。显然,它们是 互斥 的!下面就让我们来详细看看吧! if 后面的语句是当判断 条件成立 时, 需要执行 的操作。 else 后面

    2024年02月10日
    浏览(38)
  • JavaScript条件判断if 语句

    一、if语句的分支 分类:单分支,双分支,多分支,分支嵌套 ()中可以是一个值,也可以是一个表达式 案例: 二、switch ()只能是变量或值,不能是表达式 案例: break必须添加,否则会继续往下执行 问题: 什么时候用if,什么时候用switch if:条件是一个范围 或者 是具体的

    2024年02月06日
    浏览(64)
  • if __name__ == ‘__main__‘详细解释及实操演示

    在Python中,每个模块都有一个内置的变量 name ,用于表示 当前模块的名称 。当一个Python文件被执行时,Python解释器会首先将该文件作为一个模块导入,并执行其中的代码。此时,__name__的值为模块的名称。 if name == ‘ main ’ 是一个常见的用法,它的意思是:当该模块被直接

    2024年02月16日
    浏览(33)
  • SQL中的单条件判断函数IF,和多条件判断CASE WHEN的用法

    在SQL中,条件判断函数IF用于根据指定的条件返回不同的值。 condition:要判断的条件。 value_if_true:如果条件为真,则返回的值。 value_if_false:如果条件为假,则返回的值。 假设有如下名为studensts的表,包含id、name和score字段: 我们想根据学生的分数判断是否及格,并返回相

    2024年02月11日
    浏览(82)
  • shell 脚本中 if 各种条件判断的使用

    1.1 if-elif-else语法格式 1.2 if-else语法格式 1.3 if语法格式 示例: 运行结果: 示例: 运行结果: 示例: 运行结果: 示例: 运行结果:

    2024年02月17日
    浏览(53)
  • MySQL中使用IF子查询实现条件判断(where之后用if)

    废话不多说,直接上代码

    2023年04月23日
    浏览(62)
  • MATLAB知识点:if条件判断语句的嵌套

     ​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自​第4章:MATLAB程序流程控制 我们通过一个经典例题来理解if的嵌套,所谓if的嵌套,是指在if、els

    2024年04月09日
    浏览(43)
  • Windows 批处理(bat) if条件判断语句使用教程

    在bat脚本中,if条件判断语句共有6种比较操作符,分别为 操作符(不区分大小写) 描述 全称 equ 等于 equal neq 不等于 no equal lss 小于 less than leq 小于等于 leq less than or equal gtr 大于 greater than geq 大于等于 geq greater than or equal 其中,只有等于操作符可以使用符号 “==” 表示,其

    2024年02月03日
    浏览(51)
  • MySQL 判断语句 条件函数 case when、if、ifnull

    在MySQL中,需要用到条件判断函数,例如 case when、if、ifnull。 (1)if 注意: 一个条件表达式两个结果 expr :条件表达式; 如果结果为true,则返回result_true,否则返回result_false。 (2)ifnull 注意: 如果查询结果是 null ,就转换为特定的值 result :查询结果; value :如果查询结

    2024年02月04日
    浏览(72)
  • C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓

    您已经知道 C++ 支持数学中的常见逻辑条件: 小于: a b 小于或等于: a = b 大于: a b 大于或等于: a = b 等于: a == b 不等于: a != b 您可以使用这些条件来针对不同的决定执行不同的操作。 C++ 具有以下条件语句: 使用 if 来指定一个代码块,如果指定的条件为 true,则执行该

    2024年04月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包