python中的断言(assert语句)

作者:GrofChen 时间:2022-05-21 12:04:56 

python断言assert语句

assert语句的格式是【assert 表达式,返回数据】,当表达式为False时则触发AssertionError异常

try:
   n=input("请输入一个数字:")
   assert n.isdigit(),"只能输入数字"
   print("你输入的是:",n)
except Exception as ex:
   print("发现错误:",ex)

python中的断言(assert语句)

assert:python断言报错语句

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

代码示例1:

python中的断言(assert语句)

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

  • In[2]中 assert 1>2 判断为False,所以报错AssertionError,程序中断。

1.设置assert报错语句

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

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

代码示例2:

python中的断言(assert语句)

设置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:

python中的断言(assert语句)

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

代码示例4:

python中的断言(assert语句)

在报错提示 AssertionError 的后面输出了 type(a) :<class &lsquo;float&rsquo;>

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

来源:https://blog.csdn.net/GrofChen/article/details/92798153

标签:python,断言,assert
0
投稿

猜你喜欢

  • 如何在Win10系统使用Python3连接Hive

    2023-08-10 07:00:39
  • SpringBoot 中使用JSP的方法示例

    2023-06-16 22:35:09
  • 详解MySQL中InnoDB的存储文件

    2024-01-13 04:58:00
  • Firefox的默认样式表

    2008-05-09 12:06:00
  • Python采用Django制作简易的知乎日报API

    2023-10-07 13:02:34
  • mysql 维护常用命令

    2024-01-26 08:10:54
  • PHP组合模式Composite Pattern优点与实现过程

    2023-05-29 02:10:44
  • Python calendar模块详情

    2023-08-20 23:04:59
  • FFmpeg视频处理入门教程(新手必看)

    2023-08-19 05:29:38
  • Python 内存管理机制全面分析

    2021-07-17 07:21:17
  • Python爬虫基础之爬虫的分类知识总结

    2021-12-24 03:20:12
  • python集合用法实例分析

    2021-10-26 23:36:37
  • 微信小程序页面缩放式侧滑效果的实现代码

    2023-09-02 05:21:45
  • MySQL进阶查询、聚合查询和联合查询

    2024-01-26 05:00:16
  • mysql 5.7.16 免安装版安装配置方法图文教程

    2024-01-15 18:42:17
  • sqlserver中with(nolock)深入分析

    2023-07-20 21:28:33
  • Python中请不要再用re.compile了

    2021-08-30 23:57:51
  • python-docx如何缩进两个字符

    2022-07-04 15:56:45
  • SQL SERVER调用存储过程小结

    2024-01-23 18:52:27
  • Python利用pyreadline模块实现交互式命令行开发

    2022-08-12 04:30:03
  • asp之家 网络编程 m.aspxhome.com