浅谈 Python中if __name__ == ‘__main__‘:的工作原理

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

为了理解if __name__ == '__main__':的工作原理,我们需要先了解Python中的特殊变量__name__

每个Python模块都有一个内置的变量__name__。这个变量的值取决于如何执行模块:

  1. 如果模块是被直接运行的(例如,你使用命令python myscript.py在命令行中执行脚本),那么模块的__name__变量会被设置为'__main__'
  2. 如果模块是被导入的(例如,通过import myscript语句),那么模块的__name__变量会被设置为模块的名字(在这个例子中是'myscript')。

考虑以下情境:

假设我们有一个名为myscript.py的文件,其中包含以下内容:

def some_function():
    print("Function in myscript!")

print("Top-level in myscript!")

if __name__ == '__main__':
    print("myscript is being run directly!")
else:
    print("myscript is being imported into another module!")
  • 直接运行模块:如果我们在命令行中使用python myscript.py直接运行此模块,输出将会是:

    Top-level in myscript!
    myscript is being run directly!
    
  • 导入模块:假设我们在另一个Python脚本中(例如,another_script.py)使用import myscript导入此模块。输出将会是:

    Top-level in myscript!
    myscript is being imported into another module!
    

使用if __name__ == '__main__':允许我们的Python脚本既可以独立运行,也可以作为模块导入,而不会执行不需要的代码。这提供了一种有效的方式来组织和封装代码,确保只有当模块直接运行时,某些代码(如单元测试或特定的脚本逻辑)才会被执行。文章来源地址https://www.toymoban.com/news/detail-633561.html

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

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

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

相关文章

  • 【浅谈】区块链的工作原理

    本文将介绍区块链的工作原理,请reader带着如下几个问题进行阅读: 什么是区块链? 区块链是如何工作的? 如何确保区块链的安全性? 区块链可以应用在什么地方? 区块链是一个链式存储结构,区块就是链式存储结构中的数据元素,区块链由区块相互连接形成单向链式结

    2024年02月03日
    浏览(56)
  • 浅谈路由器基本结构与工作原理

    目录 一、结构 1.1 输入端口 1.2 交换结构 1.3 输出端口 1.4 路由选择处理器 二、输入端口处理和基于目的地转发 三、交换 四、输出端口处理 五、何时出现排队 5.1 输入排队 5.2 输出排队         下图是一个通用路由器体系结构的总体试图视图,其主要由输入端口、交换结构

    2024年03月19日
    浏览(59)
  • Python爬虫——scrapy_工作原理

    引擎向spiders要url 引擎把将要爬取的url给调度器 调度器会将url生成的请求对象放入到指定的队列中 从队列中出队一个请求 引擎将请求交给下载器进行处理 下载器发送请求获取互联网数据 下载器将数据返回给引擎 引擎将数据再次给到spiders spiders通过xpath解析该数据,得到数据

    2024年02月12日
    浏览(47)
  • 【Python爬虫开发基础⑭】Scrapy架构(组件介绍、架构组成和工作原理)

    🚀 个人主页 :为梦而生~ 关注我一起学习吧! 💡 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡 往期推荐 : ⭐️前面比较重要的 基础内容 : 【Python爬虫开发基础⑧】XPath库及其基本用法 【Python爬虫开发基础⑨】jsonpath和BeautifulSoup库概述及

    2024年02月17日
    浏览(44)
  • Python的web自动化学习(一)Selenium库的工作原理

    Python的web自动化学习(一)Selenium库的工作原理 首发2023-07-31 11:01·云中随心而记 后续会根据持续学习来更新,大家一起学习 引言: Selenium是一个流行的自动化测试工具,用于模拟和控制浏览器行为,常用于Web应用程序的功能测试和验收测试。Selenium支持多种编程语言,包括

    2024年02月08日
    浏览(42)
  • python进阶(二)导入import 机制 | 导入import 用法 工作原理全解析

    参考《Python应该如何导入(import)模块及包》梳理 虽然简简单单的导入import,其实涉及到很多的知识 我们导入往往是一个包,或者包内的一个模块,或者一个模块内的某些函数变量等 所以我们先对,包,模块,函数、变量做一个简单介绍 他们的包含关系是 包package(往往是

    2024年01月19日
    浏览(42)
  • 【Python数据结构与算法】--- 递归算法的应用 ---[乌龟走迷宫] |人工智能|探索扫地机器人工作原理

    🌈个人主页: Aileen_0v0 🔥系列专栏:PYTHON数据结构与算法学习系列专栏 💫\\\"没有罗马,那就自己创造罗马~\\\"  目录 导言  解决过程  1.建立数据结构 2.探索迷宫: 算法思路 递归调用的“基本结束条件” 3.乌龟走迷宫的实现代码: 运行过程: 拓展: 📝全文总结:  乌龟探索迷宫这个问

    2024年02月05日
    浏览(53)
  • 浅谈c/c++中main(),int main(),void main(),int main(void)四者之间的区别

    首先我们要了解C/C++中函数的定义,因为main函数也是函数,与其他函数的区别只是主函数是程序的主线而已,程序从它开始也在其中结束。一个函数由函数名、其前的类型标识符、其后小括号里声明的参数类型和参数名(这里的参数叫形参,即形式参数或虚拟参数)以及大括号

    2024年02月08日
    浏览(46)
  • python 理解BN、LN、IN、GN归一化、分析torch.nn.LayerNorm()和torch.var()工作原理

    目录   前言: 简言之BN、LN、IN、GN等归一化的区别: 批量归一化(Batch Normalization,BN) 优点 缺点 计算过程 层归一化(Layer Normalization,LN) 优点  计算过程 总结 分析torch.nn.LayerNorm()工作原理 分析torch.var()工作原理 torch.var()函数  参数 参数 重点 最近在学习Vit(Vision Trans

    2023年04月16日
    浏览(38)
  • 自学Python02-学会Python中的if语句

    亲爱的同学们,今天我们将学习 Python 中的一个非常重要的语句,那就是 if 语句。 if 语句可以帮助我们判断一个条件是否成立,如果条件成立,它将执行相应的代码块。现在,让我们一起来学习如何使用 if 语句吧! 首先,我们需要记住一个非常重要的单词,那就是 \\\"if\\\"。当

    2024年02月09日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包