断言

断言assert一般使用做自动化测试,放在程序中的某些地方,如果断言被满足了,程序就会若无其事地继续运行下去,一旦不满足断言的要求(一般就是理想的程序执行效果)就会立即抛出异常AssertionError并且退出程序。
想起来,这比我们加if判断然后sys.exit()好多了,而且断言还会告诉你是哪里设置的断言没有被满足,就可以溯源。

使用

使用方法有好多高级的用法,在这里因为是初步了解,所以就简单了解一下。
assert 后面跟一个判断条件

a = 6
assert a > 7#断言


当然也可以把断言放在try语句中,使用except接住,这就有点像java里的throw了

try:a = 6assert a > 10print(a)
except AssertionError as e:print("NOT FILL")print(e)#e本身是没有什么东西的,只会打印出上一句
#NOT FILL

下面这个用法就比较巧妙了,而且很棒。让断言先判断用户输入的是不是数字,如果不是就抛出异常,如果是就使用int()转换。这个我之前一直想的是,直接int()如果报错了就说明不是数字。

try:str = input("请输入一个数字:")assert str.isdigit()print(int(str)+10)
except AssertionError as e:print("您输入的不是数字")

所以断言既可以是程序运行到某一阶段某个变量应该有的值,也可以是检查用户给的参数的正确性。

python断言assert相关推荐

  1. python断言assert实例_Python断言assert的用法代码解析

    在开发一个程序时候,与其让它运行时崩溃,不如在它出现错误条件时就崩溃(返回错误).这时候断言assert 就显得非常有用. python assert断言是声明布尔值必须为真的判定,如果发生异常就说明 ...

  2. python断言assert实例_Python 拓展之断言(assert)

    写在之前 大家好,这是首发在我公众号「Python空间」的第 60 篇文章,欢迎关注,期待和你的交流. 在昨天的文章中(零基础学习 Python 之处理异常)中学习了处理异常的正确姿势,今天我们继续来 ...

  3. python断言assert实例_python接口测试assert断言

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! unittest.texttestrunner(verbosity=2).run ...

  4. python的assert(断言)异常步骤机制

    python的assert(断言)异常步骤机制 文章目录: 断言(assert): 就是判断expression 这个表达式语句是否正确,所以切记,断言是有一个判断的过程!!! 格式: assert ...

  5. Python断言方法:assert

    转载地址:https://blog.csdn.net/qq_39247153/article/details/81082313 前言 在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还 ...

  6. python(11)-if语句,断言assert

    分支语句if 1.if基本语法 2 if语句的嵌套 3 比较运算符号 4 逻辑运算符: 5 整数随机数初应用 6 tip 7.断言assert 1.if基本语法 if语句开发中的应用场景:如果条件成立 ...

  7. Python 断言和异常

    Python 断言和异常 Python断言 断言是一种理智检查,当程序的测试完成,可以将其打开或关闭.断言的最简单方法就是把它比作raise-if语句(或更加准确,raise-if-not声明).一个 ...

  8. python的assert基本用法

    Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常.基本用法为: assert expression 例如:在判断用户登录时,如果期望的结果与返回的结果相 ...

  9. python断言语句_Python中的断言(Assertions in Python)

    Python中的断言(Assertions in Python) 断言是一种完整性检查,您可以在完成程序测试后打开或关闭. 想到断言的最简单方法是将它比作一个raise-if语句(或者更准确,即使是i ...

  10. python的assert作用

    python的assert作用 用处: 检查条件,不符合就终止程序,并且提示错误原因 代码: a=-1 #报错 assert (a>0),"a超出范围" 效果: Traceb ...

最新文章

  1. Hudson-ci/Using Hudson/Installing Hudson/Installing Hudson RPM--官方文档
  2. moxy json介绍_MOXy作为您的JAX-RS JSON提供程序–服务器端
  3. 我同事今天被裁了,但我却涨了1万工资!
  4. Facebook 神经上采样技术,用于实时渲染
  5. 计算机绘图员 机械 实训二,计算机绘图员[机械]实训形考.doc
  6. cass参考手册_什么?你还不会测绘?南方CASS教程+视频讲解+插件汇总,快来学!...
  7. Xamarin自定义布局系列——PivotPage(多页面切换控件)
  8. android发布新版忘记keystore(jks)密码终极解决方案
  9. Masm(1):资源文件定义
  10. 4-18快速生成get和set方法、格式化代码、数组的非空验证、订餐系统案例
  11. 医院为什么要上患者随访管理系统?
  12. LAYA_展示富文本
  13. 云计算与大数据概论(1) 云计算,大数据是什么
  14. 个人计算机名称大全,个人取名方法大全
  15. pip下载报错:pip._vendor.urllib3.exceptions.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decry
  16. 基于多传感器数据融合的全自动泊车系统研究与应用(开题报告)
  17. Eclipse 里Tomcat 启动很慢
  18. PHP Fatal error: Uncaught Error: Class ‘\Elasticsearch\Serializers\SmartSerializer‘ not found in /h
  19. 【大学物理·光学】薄膜干涉
  20. CTFSHOW大赛原题篇(web726-web740)

热门文章

  1. 虚拟机ubantu如何扩展系统内存
  2. SVO2系列之深度滤波DepthFilter
  3. Mac 下 Netty 4.1 代码编译与运行
  4. win10如何设置锁屏后不熄屏
  5. 计算机专业哪个专业不需要数学,计算机软件专业是不是需要数学很好啊
  6. Proxy Design Pattern 代理设计模式
  7. 通用软件体系结构风格总结为五个大类
  8. dnsdhcp服务器实验原理,DHCP服务器配置实验报告.doc
  9. Android 开发设置系统闹钟
  10. 【方法篇】研究RNA互作结合蛋白(RBPs)的方法