assert用于判断一个表达式,在表达式结果为 False 的时候触发异常。若表达式结果为True,则不做任何反应。

代码示例1:

In[1]中 assert 2>1 判断为True,所以可以继续执行下面的程序。
In[2]中 assert 1>2 判断为False,所以报错AssertionError,程序中断。

1、设置assert报错语句

python也支持自己设置AssertionError的提示语句。格式为:

assert + 空格 + 要判断语句,“报错语句”

代码示例2:


设置AssertionError的报错提示语句为“常数比较大小出错”,在执行这条语句报错时候就可以很快知道bug出在哪。

实际应用的小例子:assert判断文件是否存在。

import os
path_txt = "test.txt"
assert os.path.exists(path_txt), "Not found text.txt"

程序路径中没有test.txt文件,因此会报错:

Traceback (most recent call last):File "F:/PycharmProjects/test_assert.py", line 3, in <module>assert os.path.exists(path_txt), "Not found text.txt"
AssertionError: Not found text.txt

2、assert a,b

还有一种格式是 assert a,b

表示判断表达式 a ,如果为 False,则输出表达式 b 的 值。

代码示例3:

在报错提示 AssertionError 的后面输出了 a 的值 1.2

代码示例4:

在报错提示 AssertionError 的后面输出了 type(a) :<class ‘float’>

总结:assert语句可以帮助程序员设置报错提醒,及时中止程序,找到bug。

assert:python断言报错语句相关推荐

  1. python编译器报错:“RecursionError: maximum recursion depth exceeded in comparison”解决方案

    python编译器报错:"RecursionError: maximum recursion depth exceeded in comparison"解决方案 在使用递归迭代语句 ...

  2. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  3. [故障解决]图文:python启动报错:api-ms-win-crt-runtime-l1-1-0.dll丢失解决

    python启动报错:api-ms-win-crt-runtime-l1-1-0.dll丢失解决 环境 Windows 7 SP1 x64 python3.6.1 报错 解决办法 1.下载VC red ...

  4. 【错误记录】执行 Python 程序报错 ( NameError: name ‘reload‘ is not defined )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Windows 的 cmd 命令行运行 python 脚本时 , 报如下错误 : 执行 python ApkTool.py -analyse - ...

  5. 【错误记录】PyCharm 运行 Python 程序报错 ( UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in positio )

    文章目录 一.报错信息 二.解决方案 一.报错信息 PyCharm 运行 Python 程序报错 : D:\002_Project\011_Python\APK\venv\Scripts\python ...

  6. 【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E402 module level import not at top of file )

    文章目录 一.报错信息 二.解决方案 一.报错信息 PyCharm 运行 Python 程序报错 : PEP 8: E402 module level import not at top of fil ...

  7. 【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: W292 no newline at end of file )

    文章目录 一.报错信息 二.解决方案 一.报错信息 PyCharm 运行 Python 程序报错 : PEP 8: W292 no newline at end of file 二.解决方案 在每个 ...

  8. 【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E305 expected 2 blank lines after class or function definiti )

    文章目录 一.报错信息 二.解决方案 一.报错信息 第一次写 Python 代码 , 报错如下 : PEP 8: E305 expected 2 blank lines after class or ...

  9. 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( “Python“ 因为出现问题而无法打开 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 先安装了 Pytnon3.10.0 版本 , 然后有安装了 Python3.6.3 版本 , 安装完成后 , IntelliJ IDEA 中就出现如 ...

  10. 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( pip 21.0 will drop support for Python 2.7 in January 20 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 [错误记录]Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( No module named 'threadpool' ...

最新文章

  1. python小游戏系列记忆宫殿,儿时的回忆
  2. mysql主从复制原理 简书_mysql主从复制,从原理讲到安装配置,全干货
  3. Flutter:删除所有已保存的shared_preferences首选项
  4. 【经典回放】多种语言系列数据结构算法:二叉树(JavaScript版)
  5. [转帖]FPGA--Vivado
  6. oracle 时间加减
  7. ubuntu的mysql教程 pdf_Ubuntu上的MySQL字符集设置技巧
  8. spring加载classpath与classpath*的区别别
  9. 【Hadoop学习】Super用户以其他用户的名义执行操作
  10. python小孩子学有什么用_小孩子为什么一定要学习Python编程
  11. 管理信息系统开发项目管理
  12. linux系统USB转网卡驱动异常,usb 网卡驱动安装问题(芯片AX88772B)
  13. 【数据结构】(森林)求以孩子兄弟表示法存储的森林叶子结点数
  14. 中小型、创业型教育机构如何开拓线上市场?
  15. linux下安装mysql问题:mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended
  16. ipad上的学习app设置及相应的材料
  17. 【论文阅读】Cross-domain Correspondence Learning for Exemplar-based Image Translation
  18. wndows 系统变量
  19. 数学之美:拼音输入法的数学原理
  20. ISO27002新版标准变化解读

热门文章

  1. mysql索引失效情况
  2. 深度学习对抗样本的防御方法
  3. 关于三维扫描仪,你需要知道这些
  4. 本科毕业设计|简易三维扫描仪
  5. 蓝光三维扫描仪用于钢板焊接变形全尺寸测量
  6. Android仿网易云项目代码,Android项目实战教程之高仿网易云音乐启动页实例代码...
  7. mac php连接mysql数据库_Mac下php连接mysql数据库失败解决办法
  8. 浅论bitset与位图算法bitmap
  9. 剑指 Offer 32-I/32-II/32-III从上到下打印二叉树c++
  10. PHP写一个登录表单,并实现注册+登录功能