Python assert断言函数及用法

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

assert 语句的语法结构为:

assert 表达式

assert 语句的执行流程可以用 if 判断语句表示,如下所示:

if 表达式==True:程序继续执行
else:程序报 AssertionError 错误

有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃,这有利于我们对程序排错,提高程序的健壮性。

因此,assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具。

下面的程序演示了 assert 语句的用法:

mathmark = int(input('请输入数学成绩:'))
#  断言数学考试分数是否位于正常范围内
assert 0 <= mathmark <= 100
#  只有当 mathmark 位于 [0,100]范围内,程序才会继续执行
print("数学考试分数为:", mathmark)

运行该程序,测试数据如下:

再次执行该程序,测试数据为:

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

Python assert断言函数及用法相关推荐

  1. Python assert断言函数

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

  2. Python assert 断言函数

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

  3. python assert断言的用法

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

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

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

  5. python assert 断言的作用

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

  6. python字符串find函数-python字符串查找函数的用法详解

    python字符串查找函数的使用 打开Python开发工具IDLE,新建"findstr.py'文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) ...

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

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

  8. python中int函数的用法浅析_Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__ ...

  9. python中int用法,Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__ ...

最新文章

  1. Android多线程:深入分析 Handler机制源码(二)
  2. 上海交大计算机网络课程作业,上海交大计算机网络第四次作业详解.doc
  3. 分布式面试 - 为什么要进行系统拆分?
  4. 区间dp——cf1025D二叉搜索树的中序遍历好题!
  5. 6-7Pytorch搭建cifar10训练脚本(上)
  6. (10)verilog语言编写SPI发送
  7. python可删除用户程序_Django 创建/删除用户的示例代码
  8. keytool错误: java.lang.RuntimeException: 用法错误,and 不是合法的命令【转】
  9. 韩立刚《计算机网络》| 第7章 网络安全
  10. 机器视觉——镜头介绍
  11. chm转换html,chm无法用浏览器打开,Windows下如何把chm转换为html?
  12. EXCEL表格-系统时间及进度自动记录工具制作
  13. java号码分身_[算法] 电话号码分身 (小米2017 秋招真题)[JavaScript]
  14. 2021年焊工(初级)考试资料及焊工(初级)免费试题
  15. 远程教育英语计算机统考试题,2020年远程网络教育计算机应用基础统考题库原题真题(完整版)...
  16. c语言最大数最小数平均数,C语言编程 求两个数的平均值方法(三种方法)
  17. 《Axure RP7网站和APP原型制作从入门到精通(60小时案例版)》一1.3 部件概述...
  18. DM368开发 -- 文件烧写
  19. 中小企业如何实现数字化转型,IT+OT是关键
  20. 几何光学(一):对于费马原理的一些简单理解

热门文章

  1. 超星未来发布新一代高级别自动驾驶车载计算平台
  2. 基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了
  3. 前沿技术探秘:知识图谱构建流程及方法
  4. 全面分析阿里数据中台,小白也能看懂 | CSDN原力计划
  5. 重磅!明略发布数据中台战略和三大解决方案
  6. 毕业就拿阿里offer,你和他比差在哪?
  7. 免费学习AI公开课:打卡、冲击排行榜,还有福利领取
  8. 推荐系统遇上深度学习,9篇阿里推荐论文汇总!
  9. 打造AI产教融合共赢生态,微软亚洲研究院扩大开放了这些资源
  10. 明晚8点公开课 | 用AI给旧时光上色!详解GAN在黑白照片上色中的应用