if __name__ == __main__:什么意思_一个实例理解Python中的if __name__ ==“__main__”

事实上'__main__'是一个作用域的名称,当在脚本中读取、执行、交互时,模块的__name__等于'__main__'。

一个实例让你理解Python中的__name__及__main__的关系

#一个名为test的py文件a = __name__print(a)#输出结果为__main__
#一个名为test_2的py文件(这里调用上面那个test.py)import testtest.a#输出结果为test
  • 这里第一个test文件可以理解为打印出脚本自身的模块名称,但由于(在自身调用会显示__main__)这个机制他并不会显示出自身模块名称。
  • 也就是说如果我在test中调用__name__他的结果是__main__。
  • 但当我们在test_2中调用test文件,则会显示模块名称(即文件名称),这里为test。

那么if __name__ == "__main__"的含义就不言而喻,就是防止其他脚本调用该模块。

如果还不是很理解他们两之间的关系,我们就以更通俗的说发来介绍:

小明看着镜子里面的自己:小明认识镜子里面的人是自己

(也就是 __name__ == "__main__",小明知道镜子里面的人是自己)

而小明的朋友看见小明时:小明的朋友也认识眼前的人,知道他叫小明

(也就是当他被其他脚本调用时会显示出被调用脚本的模块名称,而不是main,就是说小明的朋友看见小明以后不会说看见了自己,而是会喊出他的名字“嗨,小明”)

7e213e5a18d062a264c5a6e3f171b14b.png
如何使用if __name__ == “__main__“:保护主程序入口 语句是Python编程中的一个关键结构,用于判断Python文件是否是主程序执行,还是作为模块被导入。这种结构主要在Python文件作为代码脚本运行时使用,用于区分是直接执行,还是作为模块被导入。例如,假设你写了一个爬虫模块,你希望在直接运行时爬取数据,而在导入时提供爬虫函数提供其他模块调用。假设你编写了一个包含多个函数的模块,在开发过程中,你可能希望在模块中加入一些测试代码来验证这些函数的正确性。总之,它可以防止在导入模块时执行多余的代码。在Python中,模块可以被直接执行,也可以被导入到其他模块中。 阅读详情

相关推荐

如何简单地理解Python中的if __name__ == ‘__main__‘

1. 摘要通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')。if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导

yjk13703623757的博客 46万+

if __name__ == __main___一个实例理解Python中的if __name__ ==“__main__”

事实上'__main__'是一个作用域的名称,当在脚本中读取、执行、交互时,模块的__name__等于'__main__'。一个实例让你理解Python中的__name__及__main__的关系#一个名为test的py文件a = __name__print(a)#输出结果为__main__#一个名为test_2的py文件(这里调用上面那个test.py)import testtest.a#输出结...

weixin_39877805的博客 432

详解if __name__ == ‘__main__‘ (看这一篇就够了)

每个Python模块(一个以.py结尾的文件)都有一个__name__属性;当该模块被运行时,__name__的值会被Python解释器设置为'__main__'。当其他模块导入该模块时,该模块的__name__值就不会是'__main__',它将是它的模块名。

jundao1997的专栏 6565

if test 多条件_1分钟让你读懂if __name__=='__main__'的含义,面试不用愁

相信很多学过Python的小伙伴在面试的时候都被技术面试官难倒过,今天给大家分享一道面试题详解,保证你花几分钟就能理解,从此面试不用愁。if __name__ == '__main__':的作用一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == 'main': 的作用就是控制...

weixin_39962394的博客 1156

带你搞懂 if __name__ == “__main__“ ?

Python中if __name__ == '__main__':的作用和原理定义一个实现加法功能的py代码定义另一个py代码,导入add_.py中的add方法,类似模块导入打印结果(我们只想要一个5,但是输出两个,把第一个py代码中的add(),放在main中就不会执行) if name == ‘main’:的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if name == ‘main’: 的作用

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1万+

ADC噪声参数博弈论:为何24位ADC的有效分辨率可能不如16位?

本文深入探讨了ADC噪声参数的核心矛盾,揭示了24位ADC有效分辨率可能不如16位ADC的根本原因。关键在于跳出单纯比较位数的误区,转而关注输入参考噪声这一绝对指标。文章通过分析参考电压对满量程范围和噪声模型的影响,阐述了动态范围与最小可测信号之间的取舍逻辑,为工程师提供了基于系统实际需求的ADC选型与噪声评估框架。

snow3的博客 704

如何简单地理解Python中的if __name__ == '__main__'

1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')。 if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模...

weixin_33980459的博客 2万+

嵌入式Linux开发必备:设备树插件动态加载实战指南(RK356x平台为例)

本文以RK356x平台为例,详细介绍了嵌入式Linux开发中设备树插件的动态加载实战。通过configfs接口,开发者可以在系统运行时动态修改硬件配置,实现外设的即插即用与调试,无需重启设备,极大提升了开发与调试效率。

w7x8y9z的博客 442

if __name__ == ‘__main__‘ 如何正确理解?

if name == ‘main’ 如何正确理解? 通俗的理解__name__ == ‘main’:假如你叫小明.py,在朋友眼中,你是小明(name == ‘小明’);在你自己眼中,你是你自己(name == ‘main’)。 if name == 'main’的意思是:当.py文件被直接运行时,if name == 'main’之下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main’之下的代码块不被运行。 1、这段代码的功能 一个python的文件有两种使用的方法,第一是

hs6605015的博客 2万+

保姆级教程:手把手教你用KITTI数据集跑通LIO-SAM(附EVO评估全流程)

本文提供了一份详细的KITTI数据集LIO-SAM实现教程,涵盖数据准备、算法适配和EVO评估全流程。通过解析KITTI数据集特性、解决LIO-SAM适配问题,并利用EVO工具进行精度评估,帮助读者快速掌握激光惯性SLAM技术。特别针对KITTI数据与LIO-SAM的兼容性问题提供了实用解决方案。

weixin_28737603的博客 303

OV5640摄像头DVP与MIPI接口配置实战:从30Hz到60Hz的性能优化指南

本文详细解析了OV5640摄像头在DVP与MIPI接口下的60Hz性能优化方法,重点解决720p分辨率下帧率仅30Hz的常见问题。通过精确配置时钟树、传感器寄存器和接口参数,提供DVP与MIPI接口的实战配置代码,并分享调试工具与性能验证技巧,帮助开发者实现稳定的60fps输出。

weixin_29223603的博客 1301

python中 if__name__ == "__main__"的理解

有时候经常看到 python 代码中含有 if __name__ == '__main__' 的代码 ,但是却一直不知道是什么意思,可以通过相应的代码去试验即可知道其作用。 一、 理解 我们知道每个python文件既可以被直接执行,则可以作为脚本导入到其他文件中。从而构建各个模块的联系。而 if__name__ == '__main__' 的作用也是用来区分是自己作为自己的文件进...

HEERY551的博客 1万+

CCAR-23《正常类飞机适航规定》和CCAR-25《运输类飞机适航规定》差异分析

通过详细比较CCAR-23和CCAR-25在适用范围、设计标准、性能要求、运行限制、安全冗余和环境适应性方面的差异,我们可以看出,CCAR-23适用于轻型飞机,开发和运营成本较低,设计要求相对简单。而CCAR-25适用于大规模运输飞机,设计、开发、测试和运营管理都需要更高的复杂性和投入。

qq_41854911的博客 3704

Python中的 if __name__ == “__main__“到底是个啥意思?

对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__",这时心里就开始吐槽:“绝对又是装逼,我特么不写这句话,代码不照样跑得好好的!

大表哥的博客 9万+

(第78天)DB RU 补丁升级:19C 升级到 19.22

目前 Oracle 19C 是最新的稳定支持的版本,生产环境中使用的越来越多。当然,随着客户使用量的增多,自然无可避免的产生了很多 BUG,Oracle 每季度都会发布一个 RU 补丁来修复当前季度所产生的一些重要 BUG 补丁。作为 DBA,DB 补丁修复必然是需要掌握的一项技能。本文将介绍如何将数据库升级到最新的 RU 版本。

LuciferLiu_DBA 843

23 RAG 为什么答不准:召回、分块、排序的常见坑

RAG 答不准时,不要先怪模型。本文把常见失败拆成召回不到、召回不准、分块不完整、排序靠后、上下文污染和生成不忠实六类,并给出从 Top-K 检查到评估集的排查流程。

老于的笔记的专栏 246

python——实例详细弄懂if __name__ == ‘__main__‘用法

前言:在python慢慢学习路中,经常会遇到if __name__ == "__main__",而且会发现不写这句话,代码依旧可以执行。心里就有一百个疑问,通过大神指导,小编终于理解啦!今天小编就通过具体的例子详细介绍为什么代码中会加上这句话。

记录并分享学习安全的知识点.. 5748

Android 13.0 开机启动优化之PMS扫描apk耗时相关功能优化

在android13.0的系统rom定制化开发中,在系统中开发产品时,会根据客户要求内置第三方app,这时如果内置app过多,或者安装的app过多,在系统开机的过程中 在pms扫描安装app的时候,就会比较耗时,这时候就需要优化下pms扫描安装app这块的功能代码,用多线程来实现pms扫描安装app,来加快开机时间,接下来 来实现这个功能

安卓兼职framework和app工程师的博客 1333

Python 中的 if __name__ == '__main__' 该如何理解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34360651的博客 3622

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Python中的 if __name__ == ‘__main__‘ 是什么?

新手学Python的时候,一定见过`if __name__ == '__main__':`这段代码,尤其是在写Python脚本的时候。这段代码究竟是啥意思,有啥作用?

weixin_72959097的博客 3979

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python中的【if __name__=='__main__':】

1、Java和C#的程序入口 Java的程序入口Main函数 public static void Main(string[] args) { //方法体 } C#的程序入口Main函数 public static void Main(string[] args) { //方法体 } 2、Python的程序入口 (1)Python不需要Main函数也能执行 Python不同于以上...

Adele的专栏 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

if __name__==‘__main__‘理解

今天在参考别人代码学习tensorflow时(代码如下),总觉得代码中的main函数内FLAGS变量没有定义,当时觉得好神奇哦(因为我把if name == ‘main’:及下面这一段当做的一个函数,类似于java中的psvm了),然后翻看了半天if name==‘main’ 的解释,然后恍然大悟,python是按行解释的呀,if name == 'main’只是一个判断语句,里面的都是全局变量啊...

yongrl的博客 6367

为什么高手写的 Python 脚本都有 if name == “main“?

_name__是 Python 给每个模块自动分配的内置属性,你不需要定义它,每个.py文件一创建就自带。值会随着模块的使用方式变化。就像一个演员,在电影里演 “医生”,在综艺里是 “嘉宾”—— 同一个人,身份随场景变化,__name__就是模块的 “场景身份标识”。if __name__ == "__main__":看似简单,却蕴含着 Python 模块化设计的核心思想 ——让代码在 “被使用” 和 “被执行” 两种场景下和谐共存。

m0_74320567的博客 1168

python 关于main函数以及if __name__=='__main__'的理解

1.main函数: 在C/C++/Java中,main是程序执行的起点,Python中,也有类似的运行机制,但方式却截然不同:Python使用缩进对齐组织代码的执行,所有没有缩进的代码(非函数定义和类定义),都会在载入时自动执行,这些代码,可以认为是Python的main函数。 每个文件(模块)都可以任意写一些没有缩进的代码,并且在载入时自动执行,为了区分主执行文件还是被调用的文件,Pytho...

xiachong27的博客 3922

彻底理解python中的 if __name__ == '__main__':

前言 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。if__ name__== ‘__ main__’:的作用就是控制这两种情况执行代码的过程。在if __ name__ ==’__ main__’:下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。 程序入...

chen1415886044的博客 5860

python中if _name_=main的用法_python 中 if __name__=="__main__" 的用法

在编写规范的Python脚本中,经常会出现以下函数:> if __name__ == "__main__"初学者可能会产生迷惑,其实它就是一个特殊的函数,类似于我们用 def 定义的,下面来解释一下。1、这段代码的功能一个 python 文件通常有两种使用方法:(1) 直接作为脚本执行;(2) 作为库文件被导入(import)其他python文件被调用(模块重用)。if __name__==...

weixin_35975406的博客 3207
上一篇: mysql组复制版本要求_MySQL高可用之组复制(1):组复制技术简介
下一篇: php 判断数组里有大于0 的值_如何比较两个PHP多维数组
生活报
博客等级 码龄8年 99粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值