python assert的用处示例详解

 更新时间:2019年04月01日 09:23:03   作者:周伯通的麦田  
python assert 句语格式及用法很简单。通常程序在运行完之后抛出异常,使用assert可以在出现有异常的代码处直接终止运行。这篇文章通过实例代码介绍了python assert的用处 ,需要的朋友可以参考下

使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。本文主要是讲assert断言的基础知识。

python assert断言的作用

python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为

下面通过实例代码介绍下python assert 作用,具体内容如下所示:

python assert 句语格式及用法很简单。通常程序在运行完之后抛出异常,使用assert可以在出现有异常的代码处直接终止运行。 而不用等到程序执行完毕之后抛出异常。

python assert的作用

python assert如果发生异常就说明表达示为假。可以理解表示式返回 值为假 时就会触发异常。

assert语句的语法格式

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

附加说明:assert也可以用于多个表达式的: assert expression1, expression2。
注意:表达式=false 时,则执行其后面的异常。

我们看几个示例

1:单个表达式:

a = 1
assert a < 0, '出错了,a大于0 啊'
print('这里不会输出')

输出:

Traceback (most recent call last):
 File "main.py", line 3, in <module>
 assert a < 0, '出错了,a大于0 啊'
AssertionError: 出错了,a大于0 啊

2:多个表达式:

a = 1
b = -1
assert a > 0, b < 0
print('正常输出,表达式返回真了') # 输出:正常输出,表达式返回真了

3:尝试捕获 assert 异常:

import traceback

try:
 assert a < 0
except AssertionError as aeeor: # 明确抛出此异常
 # 抛出 AssertionError 不含任何信息,所以无法通过 aeeor.__str__()获取异常描述
 print('AssertionError', aeeor, aeeor.__str__())

 # 通过 traceback 打印详细异常信息
 print('traceback 打印异常')
 traceback.print_exc()
except: # 不会命中其他异常
 print('assert except')

try:
 raise AssertionError('测试 raise AssertionError')
except AssertionError as aeeor:
 print('raise AssertionError 异常', aeeor.__str__())

输出:

AssertionError
 traceback 打印异常
 Traceback (most recent call last):
 File "main.py", line 7, in <module>
 aAssertionError
 raise AssertionError 异常 测试 raise AssertionErrorssert a < 0

 4:函数调用抛出异常:

# 除法运算
def foo(value, divide):
 assert divide != 0
 return value / divide
print('4除以2 =', foo(4, 2)) # 执行成功
print('4除以0 =', foo(4, 0)) # 抛出异常

输出:

 4除以2 = 2.0
 Traceback (most recent call last):
 File "main.py", line 8, in <module>
 print('4除以0 =', foo(4, 0)) # 抛出异常
 File "main.py", line 3, in foo
 assert divide != 0
 AssertionError

通过上面几个示例,相信大家也深刻理解aseert的用处了

总结: 表达式返回false 时。直接抛出异常终止继续执行。

以上所述是小编给大家介绍的python assert的用处示例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)

    Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)

    下面小编就为大家分享一篇Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python进行图像边缘检测的详细教程

    python进行图像边缘检测的详细教程

    相信大家对于边缘检测这几个词并不陌生,但是相对于如何处理,如何进行图像的边缘检测却无能为力、束手无策了,下面这篇文章主要给大家介绍了关于python进行图像边缘检测的详细教程,需要的朋友可以参考下
    2023-04-04
  • 17个Python小技巧分享

    17个Python小技巧分享

    这篇文章主要给大家分享了17个Python小技巧,都是些基础的非常常用也非常实用的小技巧,这里推荐给大家。
    2015-01-01
  • Python中re正则匹配数据的实现

    Python中re正则匹配数据的实现

    在Python中,可以使用re模块来使用正则表达式,本文主要介绍了Python中re正则匹配数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • python中模块查找的原理与方法详解

    python中模块查找的原理与方法详解

    这篇文章主要给大家介绍了python中模块查找的原理与方式,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • Pytorch中torchtext终极安装方法以及常见问题

    Pytorch中torchtext终极安装方法以及常见问题

    torchtext是pytorch框架中用于文本处理的,下面这篇文章主要给大家介绍了关于Pytorch中torchtext终极安装方法以及常见问题的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 在VSCode中配置Python开发环境的详细教程

    在VSCode中配置Python开发环境的详细教程

    Visual Studio Code(简称VSCode)以其强大的功能和灵活的扩展性,成为了许多开发者的首选,本文将详细介绍如何在VSCode中配置Python开发环境,需要的朋友可以参考下
    2025-04-04
  • python环境配置方式(服务器+本地)

    python环境配置方式(服务器+本地)

    这篇文章详细介绍了在服务器上安装和配置Anaconda3、TensorFlow、PyTorch等深度学习环境的步骤,包括下载、初始化、创建环境、验证安装以及解决一些常见问题
    2025-01-01
  • 利用Python将彩色图像转为灰度图像的两种方法

    利用Python将彩色图像转为灰度图像的两种方法

    这篇文章主要给大家介绍了关于利用Python将彩色图像转为灰度图像的两种方法,以及python 批量将图片转为灰度图的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • 提高python代码可读性利器pycodestyle使用详解

    提高python代码可读性利器pycodestyle使用详解

    鉴于 Python 在数据科学中的流行,我将深入研究 pycodestyle 的使用方法,以提高 Python 代码的质量和可读性。如果你想提升代码质量,欢迎收藏学习,有所收获,点赞支持
    2021-11-11

最新评论