Python assert断言函数及用法

Python 中assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句。它用于判断某个表达式的值,如果值为真,则继续执行;反之,Python 解释器会报 AssertionError 错误

assert 语法结构可以为:
assert + expression
等价于:
if 表达式==True:程序继续执行输出结果
else:程序报 AssertionError 错误assert 语法结构也可以为(带有参数):
assert + expression [, arguments]
等价于:
if expression==True:
else:程序报 AssertionError(arguments)错误
  • assert 会使程序崩溃

那我们为什么还要用。与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃,这有利于我们对程序排错,从而提高我们程序的健壮性。
故assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具。

  • 例如:
math = int(input())
assert ( 0 <= math <= 100 )
print("程序继续执行输出结果!", math)#断言函数判断math是否位于正常范围内assert 0 <= math <= 100#只有当 math 位于 [0,100]范围内,程序才会继续执行print("程序继续执行输出结果!", math)
#等价于if else语句
import math
math = int(input())
if 0 <= math <= 100 :print(" 程序继续执行输出结果!")
else:print("程序报 AssertionError 错误!")

输出结果:

1. 66程序继续执行输出结果! 662. 66程序继续执行输出结果!

再次执行该程序,输入122:超出了正常范围就直接报AssertionError 错误

1. 122Traceback (most recent call last):File "D:/PycharmProjects/untitled1/min.py", line 11, in <module>assert ( 0 <= math <= 100 )
AssertionError2.  122
程序报 AssertionError 错误!

从上面可以看到,当 assert 语句后的表达式值为真时,程序继续执行;反之,程序停止执行,并报 AssertionError 错误。

Python assert断言函数相关推荐

  1. Python assert断言函数及用法

    Python assert断言函数及用法 Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行:反之,Pyt ...

  2. Python assert 断言函数

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...

  3. python assert 断言的作用

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

  4. matlab语言中的assert断言函数

    1.MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning.由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行.在matl ...

  5. python assert断言的用法

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...

  6. c语言中assert函数,C++ 中assert断言函数的基本用法

    在我们的实际开发过程之中,常常会出现一些隐藏得很深的BUG,或者是一些概率性发生的BUG,通常这些BUG在我们调试的过程中不会出现很明显的问题,但是如果我们将其发布,在用户的各种运行环境下,这些程序可 ...

  7. Python assert 断言

    assert断言语句用来声明某个条件是真的,其作用是测试一个条件(condition)是否成立,如果不成立,则抛出异常. assert一般用法: assert condition 如果conditio ...

  8. C语言中assert()断言函数的概念及用法

    断言函数的格式如下所示: void assert (int expression); 如果参数expression等于零,一个错误消息将会写入到设备的标准错误集并且会调用abort函数,就会结束程序的 ...

  9. assert()断言函数,用于在调试过程中捕捉程序错误

    断言函数,用于在调试过程中捕捉程序的错误. "断言"在语文中的意思是"断定"."十分肯定地说",在编程中是指对某种假设条件进行检测,如果条件 ...

最新文章

  1. POJ 1177 Picture [离散化+扫描线+线段树]
  2. 学习笔记四-信息收集
  3. Educational Codeforces Round 65 (Rated for Div. 2) D. Bicolored RBS
  4. 【汇编语言】记录一组数中负数的个数,8086与MIPS汇编程序
  5. [vue] 说说你对选项el,template,render的理解
  6. Java进阶 创建和销毁对象
  7. IT兄弟连 JavaWeb教程 JSP经典面试题
  8. SQL数据库语言基础之SqlServer视图的创建、修改与视图数据的增删改查
  9. Google 向平板电脑彻底说再见!
  10. Runtime.getRuntime().exec()----记录日志案例
  11. mapbox 修改初始位置_《绝地求生》实用的键位改键推荐 | 哪些不合理的初始键位需要更改?...
  12. SpriteBuilder切换解决方案以及CCB的修改与保存
  13. sklearn.preprocessing.PolynomialFeatures的使用
  14. BZOJ 1014: [JSOI2008]火星人prefix
  15. Martin Fowler谈微服务的优缺点
  16. Nagios 监控twemproxy
  17. 基于Web的svg编辑器(2)——层次结构设计(DOM结构)
  18. 秒秒钟解决打开ps图片显示无法完成请求,因为程序错误
  19. python控制灯开关_通过树莓派控制电灯开关
  20. c语言程序设计教程答案王晓云,【单选题】华人图灵奖获得者是( ) A. 吴恩达 B. 王小云 C. 姚期智 D. 杨振宁...

热门文章

  1. 荣威之后是名爵,上汽对YunOS是真爱,但还不够?
  2. C语言结构体,输出李明的相关信息。
  3. DataGrip工具链接Mysql报【08S01】解决方案
  4. Java中String StringBuffer和StringBuilder的区别是什么
  5. IPv6,为下一代互联网赋能
  6. Research Paper 论文写作 | 写好 Discussion
  7. 虚拟带库是不是都需要备份服务器,求教~虚拟磁带库和传统磁带库的区别在哪里?...
  8. 双循环比赛队伍排列组合问题
  9. 无线AC802.1X认证配置
  10. mac电脑设置静态ip的方法