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

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

off999 2024-09-21 20:49 38 浏览 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##知识##奇妙知识季##涨知识##自学##程序员##编程##面试#

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

相关推荐

hdd硬盘和ssd(ssd硬盘和hdd硬盘是什么意思)

HDD硬盘和SSD硬盘是两种不同类型的电脑存储设备,它们有着以下区别:1.工作原理:HDD硬盘使用机械旋转的磁盘和读写磁头来存储和读取数据,而SSD硬盘则使用闪存存储数据,类似于USB闪存盘。2....

电脑免费软件下载大全(电脑上免费的下载软件)

正常情况下,如果我们想要在自己的电脑上面下载一个不要钱的单机游戏,那么我们是可以直接在我们的软件管理中心进行一个下载的,这个时候我们只需要通过一个权限就能够正常的下载,当然我们也是可以在一些小游戏的软...

mpp文件转换excel(mpp转换成pdf)

要将Excel表格转换为MPP格式,您可以按照以下步骤操作:1.打开Excel表格并确保数据按照项目的不同阶段或任务进行组织。2.将Excel表格中的数据复制到一个新的MicrosoftProj...

win7旗舰版开机密码忘记按f2

方法如下:开始-控制面板-用户帐户;在打开的更改用户帐户界面点击要更改的帐户;然后点击帐户左面的更改密码按钮;在打开的页面上,输入一次当前使用的密码,输入2次要更改的新密码然后保存退出就可以了...

笔记本无音频输出设备(笔记本无音频输出设备)

1、没有声卡驱动,解决方法就是找到笔记本的官网,下载电脑声卡的驱动安装即可。2、没有外界的音频播放设备,解决方法就是买一个外界的音频播放设备插到电脑主机的音频接口上即可。笔记本电脑显示未安装任何音频输...

iso文件能用手机打开吗(iso文件能用手机打开吗安全吗)

一般的压缩软件就可以打开的,比如,好压软件,这个打开只是解压形式的,如果你说的是运行iso文件,这个没有,况且安卓系统也不支持iso运行ISO文件一般用于光盘镜像文件的存储,如果想要在手机上运行ISO...

win7系统卡顿怎么优化(win7很慢很卡怎么优化)

1、首先打开安全卫士,进入安全卫士首页,单击软件窗口右下角的“更多”图标,打开扩展应用程序。2、单击选择“我的工具”。3、在我的工具菜单里面找到“人工服务”单击打开人工服务。4、在人工服务对话框有很多...

如何查看c盘微信聊天记录(如何查看c盘微信聊天记录内存大小)

微信群中的消息只要没删除基本都能保存,想要找微信群中几个多月前的消息可以直接根据日期来查找聊天记录。操作如下:1、打开想要查找记录的微信群,点击右上角人形图标;2、点击查找聊天内容;3、选择按日...

office2016家庭版激活密钥(office家庭版激活码2019)

走淘宝吧,因为零售版的密钥只能用一次。大概几块钱就能激活2016。如果你不在乎钱的话可以向我一样,订阅一个office365.实在不行可以和几个人一起买一个家庭版的365.出现这个情况,找微软申诉是没...

移动硬盘驱动器下载安装(移动硬盘驱动器下载安装教程)

1、右键单击您的桌面,选择“新建文件夹”,并命名该文件夹(例如“usb驱动程序”);2、然后到本站下载驱动程序;3、将其解压缩至在您的桌面上刚刚创建的usb驱动程序文件夹;4、单击开始菜单,然后选择设...

电脑硬盘格式化工具(电脑 格式化硬盘)

硬盘格式化工具很多,PQMACGIG8.0(中文就叫硬盘分区魔法师)是比较好的一个,这个是在WINDOWS下比叫好用,(个人感觉)FDISK也是比较好的一个,这个一般用在DOS下分区格式化WIN...

photoshop是一款什么软件(ps指的是什么软件)

这个说法是错误的,ps软件“即:photoshop”是由美国著名的“adobe阿多比”公司出品的专业的图像处理软件,它不是由微软公司出品的软件。众所周知的是,微软公司以设计视窗操作系统名满全球,它出...

ipad越狱的好处与坏处(ipad越狱好不好)

  好处一:  1、重命名、重组应用程序  如果你看着Sparrow(iOS最优秀邮件客户端)这个名字不爽,越狱之后就可以改成“Email”,如果你觉得“豆瓣电台”这个名字不给力,那就改成“中央人民广...

win7光盘重装系统步骤图解(win7光盘如何重装系统)

1.确认您的电脑支持从光盘启动。如果支持,可以直接将Windows7安装光盘插入电脑的光驱中。 2.打开电脑,按下F2、F10、F12或Delete等键进入BIOS设置界面。 ...

电脑已联网却无法上网(电脑已经联网了但是不能上网)

电脑连上网后,仍可能存在无法上网的情况,这可能是由多种原因造成的。以下是一些可能的原因和解决方法:1.浏览器问题:有时候,浏览器可能会出现故障,导致无法正常访问网络。您可以尝试清除浏览器的缓存和co...

取消回复欢迎 发表评论: