打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python|自动化测试与if __name__=="__main__":

问题描述

最近有小伙伴在学习python自动化测试的时候遇到了一个问题,下面我直接奉上代码。

解决方案

若要让此程序执行很简单只需在最后一行代码unittest.main()前加一行代码if__name__==”__main__”:方可执行。那么到这里我们为什么只需加一行代码就能使程序执行呢?下面我们将详细的说明if__name__==”__main__”:的原理及用法。

if__name__==”__main__”:的用法:

首先是一个python文件有两种使用方法,第一是作为脚本文件直接运行,第二种是通过调用的方法(第三方库)执行。

而if__name__==”__main__”:的作用就是控制这两种情况执行代码的过程,在if__name__==”__main__”:下面的代码只有在文件作为脚本直接执行时才会被执行,而在第二种情况下if__name__==”__main__”:之后的代码是不被执行的。下面我们用代码来说明这个情况。

直接执行:

我们将文件名命名为test.py,执行结果为

调用执行:

我们在同一文件夹下创建一个python文件,在文件中输入代码

执行情况为

通过实例我们不难看出if__name__==”__main__”:的用法,下面我们再来看看if__name__==”__main__”:的原理。首先献上几张图。

在之前的代码中加入一行代码print("__name__",__name__),输出的代码我们不难看出这里的__name__等于__main__所以if__name__==”__main__”:之后的代码会被执行。

而在调用了test.py文件(第二种情况调用)的python文件中输出的结果为

从代码中我们得出的__name__等于test。所以if__name__==”__main__”:之下的代码不被执行。

每个python文件都包含内置的变量__name__,当文件被执行的时候,__name__等于文件名(包含后缀.py),如果文件import调用到其他文件中,则该文件的__name__等于文件名称(不包含后缀.py)。”__main__”始终等于执行文件的名称(包含后缀.py),所以当模块被直接执行时__name__==”__main__”结果为Ture。

结语

通过上面的归纳,其实理解起来还是有一定的难度,当初我自己理解也是花了很长的时间,上述讲解的代码希望python小白下去实战,将代码理解正确那么if__name__==”__main__”:的使用将不是问题

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Python中if __name__ == '__main__':的作用和原理
if __name__ == "__main__"
Python程序执行顺序
__name__和__main__的作用
python __name__ == ‘__main__’详细解释(27)
python中的模块与包
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服