【Python基础】if __name__ == ‘__main__‘:和assert函数

:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
:文章若有幸对你有帮助,可点赞 收藏 ⭐不迷路
:内容若有错误,敬请留言 指正!原创文,转载请注明出处

文章目录

  • if __name__ == '__main__':
    • 简介
    • 代码案例
  • assert函数
    • 简介
    • 基本语法
    • 代码案例


if name == ‘main’:

简介

if __name__ == '__main__':

在Python中,if __name__ == '__main__' 是一个常见的代码结构和惯用法。它用于确定当前模块是作为主程序执行,还是被导入为一个模块文件。

当一个Python脚本被执行时,解释器会将特殊变量__name__设置为'__main__'。因此,通过使用if __name__ == '__main__' 来判断当前模块是否在主程序中执行。

主要的用途包括:

  1. 模块的测试:通过将测试代码放在if __name__ == '__main__' 的条件下,可以确保只有在直接运行模块时才会执行测试代码,而在被导入为模块时不会被执行。

  2. 执行模块的初始化操作:如果某些代码需要在模块被作为主程序执行时运行,可以将这些代码放在if __name__ == '__main__' 的条件下。

简而言之,if __name__ == '__main__' 的使用可以让模块既可以作为独立的脚本运行,又可以作为其他模块的导入文件使用,提供了更灵活和可复用的代码组织方式。

代码案例

假设我们有两个文件:module1.py和module2.py。
首先,我们来看一下module1.py的内容:

# module1.py
def multiply(a, b):
    return a * b
if __name__ == '__main__':
    result = multiply(2, 3)
    print(f"The result is: {result}")

module1.py中定义了一个名为multiply的函数,用于计算两个数的乘积。在if name == ‘main’:这个条件下,我们调用了multiply函数,并输出结果。

接下来,我们来看一下module2.py的内容:

# module2.py
from module1 import multiply
result = multiply(4, 5)
print(f"The result is: {result}")

module2.py中导入了module1模块,并调用了multiply函数计算两个数的乘积,并将结果输出。
现在分别执行这两个模块看看结果:
当我们执行module1.py时,if name == ‘main’:条件成立,因为__name__的值为’main’。所以,multiply(2, 3)被调用,结果为6,并输出结果:“The result is: 6”。
当我们执行module2.py时,if __name__ == '__main__':条件不成立,因为__name__的值是"module1",而不是'__main__'。所以,multiply(4, 5)不会被调用。

总结一下:

  • 当模块被直接执行时(作为主程序入口),__name__的值为’main’,执行if name == ‘main’:块中的代码。
  • 当模块被导入时,__name__的值为模块的名字,不等于'__main__',不执行if __name__ == '__main__':块中的代码。
    通过使用if name == ‘main’:条件,我们可以在一个模块中编写测试代码或示例代码,保证只有当该模块作为主程序入口执行时,这些代码才会被执行。这样可以方便进行模块的测试和示例运行,而不影响模块作为其他模块的导入使用。

参考:https://blog.csdn.net/heqiang525/article/details/89879056

assert函数

简介

python assert的作用:assert函数用于程序调试

基本语法

1、The simple form:
assert expression

该形式用来测试断言的expression语句,如果expression是True,那么什么反应都没有。但是如果expression是False,那么会报错AssertionError,

2、assert断言语句可以添加异常参数,也就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:

assert expression [, arguments]
assert 表达式 [, 参数]

代码案例

当然!下面是一个简单的代码案例,展示了如何使用 assert 关键字:

def divide(x, y):
    assert y != 0, "除数不能为零"
    return x / y
# 测试除法函数
print(divide(10, 2))  # 输出: 5.0
print(divide(10, 0))  # 触发 AssertionError 异常

在上述代码中,我们定义了一个名为 divide 的函数,用于执行两个数字的除法运算。使用 assert 来确保除数 y 不为零,如果为零则触发断言异常,并且提示错误信息。
在打印 divide(10, 2) 的结果时,由于除数不为零,条件为真,所以程序继续执行,输出结果为 5.0。而当我们调用 divide(10, 0) 时,由于除数为零,条件为假,触发 AssertionError 异常,并输出错误信息 “除数不能为零”。
这个简单的例子展示了如何使用 assert 来确保代码执行时的条件满足预期,帮助开发者在调试和测试过程中快速捕捉潜在的问题。

如下案例是为了说明assert关键字后面跟着函数的话,也会被执行的,会有输出结果!做的判断是return返回值与-1,而不是print打印出来的值。

def divide(x, y):
    assert y != 0, "除数不能为零"
    print(x/y)
    return x / y

assert divide(-1, 1) == -1 #正常运行,并输出-1

参考:https://blog.csdn.net/TeFuirnever/article/details/88883859

【Python基础】if __name__ == ‘__main__‘:和assert函数_第1张图片

你可能感兴趣的:(#,Python,python,前端,数据库)