Python必学:为什么你的程序需要一个__main__函数?

2644 篇文章 26 订阅
2634 篇文章 14 订阅
本文介绍了如何在Python中使用`if__name__==__main__:`来实现模块化,避免代码在导入时执行。作者推荐了一个软件测试面试刷题小程序,其中包含各类测试题和大厂面试真题,以及`__name__`的实战应用。
摘要由CSDN通过智能技术生成

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3.4k次,点赞86次,收藏15次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

大家好,大家主意没,在 Python 中,并没有像 Java 或 C++ 中那样的强制使用 main 函数。

Python 的执行是从脚本的第一行开始,按顺序执行。然而,在编写具有多个函数和可能被其他脚本引用的模块时,定义一个主执行函数变得非常有用。这就是 if __name__ == '__main__': 发挥作用的地方。

图片

__name__ 是什么?

在 Python 脚本中,__name__ 是一个内置变量。当文件被直接运行时,__name__ 的值会被设为 '__main__'。如果文件是被导入到其他文件中的,__name__ 的值会被设置为文件的名字。利用这一特性,我们可以控制哪些代码块在被导入时执行,哪些代码块在文件作为主程序运行时执行。

使用场景

使用 if __name__ == '__main__': 的好处包括:

  • • 模块化和重用代码:通过这种方式,您可以在其他程序中重用模块,而不必担心代码会自动执行。

  • • 测试:这允许你在同一个文件中写测试代码,测试代码只会在该文件作为主程序运行时执行。

假设我们有一个简单的模块,math_operations.py,它包含几个基本的数学操作函数。此外,我们将在该文件中添加一些测试代码,以验证这些函数是否正确工作。

创建模块 math_operations.py

# math_operations.py

def add(x, y):
    return x + y

def multiply(x, y):
    return x * y

def main():
    # 这是主函数,用于运行程序
    print("Addition of 5 and 3 is:", add(5, 3))
    print("Multiplication of 5 and 3 is:", multiply(5, 3))

# 测试代码
if __name__ == '__main__':
    # 测试 add 函数
    assert add(2, 3) == 5, "Add function test failed"
    # 测试 multiply 函数
    assert multiply(2, 3) == 6, "Multiply function test failed"
    # 如果测试成功,输出以下语句
    print("All tests passed!")

    # 运行主函数
    main()

创建模块 use_math_operations.py

# use_math_operations.py

from math_operations import add, multiply

def main():
    # 使用导入的函数
    result_add = add(10, 5)
    result_multiply = multiply(10, 5)
    
    print("Result of add(10, 5):", result_add)
    print("Result of multiply(10, 5):", result_multiply)

if __name__ == '__main__':
    main()

运行结果

当直接运行 math_operations.py
  • • 输出所有测试通过的确认。

  • • 执行 main 函数,输出两个数学操作的结果。

    图片

当从另一个 Python 脚本use_math_operations.py导入 math_operations.py

在 use_math_operations.py 文件中,我们通过 from math_operations import add, multiply 导入了 math_operations.py 中定义的函数。这个导入操作不会触发 math_operations.py 中的 if __name__ == '__main__': 块,因此该模块中定义的测试和 main() 函数不会执行。

 

然后我们在 use_math_operations.py 的 main() 函数中使用了 add 和 multiply 函数,并输出了结果,这将验证这些函数能够正常工作,而原模块的测试代码和主函数没有被执行。

通过这种方式,我们不仅保证了代码的可重用性和模块化,同时也确保了能在不干扰其他脚本的情况下测试模块功能。

掌握 Python 中的 main 方法的使用不仅可以帮助你更好地组织代码,还能使其更加模块化和可重用。掌握__main__的使用,可以使你的Python代码更加结构化和模块化。无论是在进行个人项目还是协作开发中,这种模式都非常有用。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值