百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

关于 python 的 if __name__ == '__main__' 你知道多少?

off999 2024-09-21 20:49 35 浏览 0 评论

在诸多情况下,当我们在编写一个Python测试脚本或是Java转型而来的程序员们,往往偏爱撰写 `if name == '__main__'` 的语句。然而,对于 `if name == '__main__'`,我们究竟了解多少呢?

首先,这是一条判断语句,其中的 `_name_` 变量具有两种可能的取值情况:

1.当某个Python文件单独执行时,_name_变量的值为 `_main_`。

2.当某个Python文件被导入至其他程序时,该py文件内部的_name_变量的值与py文件的名称相同。

如此便能确保仅在文件单独执行的情况下运行特定代码,而在其他程序中导入该模块时,避免主函数被执行。此种用法的主要目的在于使一个模块既能够作为独立的程序运行,亦可被其他模块导入和调用。在实际编程过程中,我们通常会在 `if name == '__main__'` 语句块中写入一些测试代码,以便在开发和调试阶段直接运行这个模块,而在其他模块中导入时避免执行这些测试代码。

既然提到了模块,那么在此补充几点相关内容:

模块module:

module介绍

1.module本质上是一个Python程序,以`.py`作为文件扩展名。任何py文件皆能作为一个模块。

2.除Python外,其他可作为module的文件类型还包括"so"、"pyo"、” pyc"、"dylib"、"pyd"

3.借助模块,我们可以有效避免命名空间的冲突,屏蔽代码细节以便我们更加专注于高层逻辑的实现,同时也可以将一个大型程序分割为多个文件,大大提高代码的易维护性和可复用性。


module 注释

模块的详细文档应置于py文件的开头处,并用成对的三个英文单引号进行标识:

'''

模块的说明文档

'''


module导入

常见的导入模块的方法有两种:

1. import module1[as alias1], module2[as alias2],... 在此种情况下,模块名1本身得以导入保存,但保留原有命名空间,因此需以 "module1 member1" 的方式访问其函数或变量。

2. from module1 import member1[as alias1], member2[as alias2],... 此时,模块的函数/变量会被引入当前模块的命名空间,无需再使用 "module1 member1" 来访问。

其中,用 [ ] 括起来的部分可以随意省略。但请注意尽量避免使用 `from xxx import *` 的方式进行导入,以免出现名称重复的问题。

包 package

package 介绍

Python的包,即包含一个 `_init_.py` 文件的文件夹。

1.自身即是一个模块:

2.此模块的名称即为此包的名称

3.其主要功能为将一个文件夹转变为一个Python模块

4.在没有任何代码的情况下,基本失去其存在的价值。因此在大多数情况下,_init_py中会融入一些Python初始化代码,以便在引入此包时,这些代码能够自动执行。例如:一次性导入我们所需的所有模块,无需在使用时逐一导入,极大地方便使用。

5.不建议在`_init_.py` 中定义类结构,以保持其简洁性。


`_all_` 是Python中的一个重要变量,常位于 `init.py` 文件中,用于指定此包(package)在被`import *`时,哪些模块(module)会被导入;未纳入 `_all_`列表中的模块将不会被其它程序所引用。

而 `_path_` 同样是一个在Python中频繁使用的变量,负责存储当前包的搜索路径。在默认情况下,其值即为当前包的路径。

package 导入

与导入模块相似


#计算机##python##知识##奇妙知识季##涨知识##自学##程序员##编程##面试#

#互联网##学习##进步#

相关推荐

无线网有个红叉(无线网有个红叉,搜索不到网络)

连接失败,路由坏换路由,外网坏,报修无线网络处出现红叉表示设备无法正常工作。请检查网卡驱动是否正常,无线网络开关是否打开。解决方法:查看电脑是否有无线网络开关,且是否打开。进入设备管理器检查网卡驱动是...

thinkpad笔记本官网首页(thinkpad官方商城)

官方网站 国内:http://www.thinkworld.com.cn   国内用户只需要访问国内即可。  ThinkPad,中文名为“思考本”,在2005年以前是IBMPC事业部旗下的便携式计算机...

win7什么版本最好用(win7哪个版本最稳定流畅)

Windows7旗舰版,最好,最稳定。Windows7,是由微软公司(Microsoft)开发的操作系统,内核版本号为WindowsNT6.1。Windows7可供选择的版本有:简易版(Sta...

win7自带虚拟光驱怎么使用(win7系统虚拟光驱安装教程)

以DAEMONTools为例,360软件管家里面就有最新版的下.安装后使用方法如下:第一种方法:在虚拟光驱界面中,你先按一下中间工具栏最左边“+”符号的按钮,添加镜像文件(可以一次添加多个),这...

电脑装系统蓝屏(电脑装系统蓝屏重启开不了机)

蓝屏的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等。解决办法:1、病毒的原因。使用电脑管家杀毒。2、内存的原因。用橡皮擦把内存条的金手指擦拭一下,把氧化层擦掉,确保内存条安装、运行正常。...

u盘安装软件(u盘安装软件到电视)

第一种情况:软件安装包可以直接下载的。在电脑上将软件安装包下载到本地硬盘,然后将下载好软件安装包拷贝到U盘上即可拿到别的电脑上去安装。分可为exe格式的和rar格式,exe格式直接安装,rar格式的解...

microsoft官网账户注册(microsoft 帐户注册)

要创建Microsoft账户,您可以按照以下步骤进行操作:1.打开任意一个支持浏览器的设备,如电脑、手机或平板电脑。2.在浏览器中输入"Microsoft账户注册"或直接访问Mic...

outlookcom官网(outlook online archive auto)
  • outlookcom官网(outlook online archive auto)
  • outlookcom官网(outlook online archive auto)
  • outlookcom官网(outlook online archive auto)
  • outlookcom官网(outlook online archive auto)
显示器闪屏是什么原因(显示器闪屏是哪里坏了)

解决方法:  一、接触不良导致的显示器闪屏  先查看主机和显示器的电源线连接,是否松动,重新插拔一下电源线。  二、信号干扰导致的显示器闪屏  1、连接显示器的电缆线是否没有屏蔽线圈,如果没有防干扰的...

国产linux操作系统(国产linux操作系统有什么版本)

中国对于操作系统的探索其实并不晚。  早在20世纪60年代中期中国就开始操作系统的研发,那时的比尔·盖茨还只是个迷恋计算机的小字辈,南京大学教授孙钟秀、北京大学杨芙清院士等都是我国操作系统的拓荒者...

免费无需排队的云电脑(不需要排队的云电脑)

目前市场上有一些云游戏平台提供无限时长且无需排队的服务。这些平台通常采用先进的云计算技术和高性能服务器,能够提供稳定流畅的游戏体验。用户可以随时登录并畅玩游戏,无需等待排队。这些平台还提供多种游戏选择...

视频播放器下载量排名(2020视频播放器排行榜)
  • 视频播放器下载量排名(2020视频播放器排行榜)
  • 视频播放器下载量排名(2020视频播放器排行榜)
  • 视频播放器下载量排名(2020视频播放器排行榜)
  • 视频播放器下载量排名(2020视频播放器排行榜)
wps官方下载(wps官方下载官网电脑版网址)

具体的步骤如下:1、首先在电脑上打开浏览器,在浏览器中输入“WPS”,找到WPS官方网站。2、接下来进入WPS官方网站中,找到WPS软件,点击“免费下载”。3、点击下载后在弹出来的对话框中修改下载位置...

win vista与win7有什么区别(win7与vista关系)

WindowsVista和Windows7是微软公司推出的两个桌面操作系统,它们之间有以下主要区别:1.界面设计:Windows7的界面设计更加简洁明了,而WindowsVista的界面...

winxp系统版本(winxp 版本)

1、微软官方3个版本:WINDOWSXPHOME(家庭版)、Professional(专业版)、MediaCenter2005(媒体中心版),每个版本的功能不一样。使用最多的是Professional...

取消回复欢迎 发表评论: