16 合理利用assert

作者: leacoder | 来源:发表于2019-07-19 21:36 被阅读0次

目录链接:https://www.jianshu.com/p/e1e201bea601

什么是 assert?

Python 的 assert 语句, 可以说是一个 debug 的好工具, 主要用于测试一个条件是否满足。 如果测试的条件满足, 则什么也不做, 相当于执行了 pass 语句;如果测试条件不满足, 便会抛出异常AssertionError, 并返回具体的错误信息(optional) 。

一个简单形式的assert expression:

assert 1 == 2

它就相当于下面这两行代码:

if __debug__:
    if not expression: raise AssertionError

assert expression1, expression2 的形式例子:

assert 1 == 2,  'assertion is wrong'

相当于:

if __debug__:
    if not expression1: raise AssertionError(expression2)

debug 是一个常数。 如果 Python 程序执行时附带了 -O 这个选项, 比如 Python test.py -O , 那么程序中所有的 assert 语句都会失效, 常数 debug 便为 False;反之 debug 则为 True。

不要在使用 assert 时加入括号:

assert(1 == 2, 'This should fail')
不要在使用 assert 时加入括号.png

无论表达式对与错(这里的 1 == 2 显然是错误的) , assert 检查永远不会 fail

参考资料:

极客时间 Python核心技术与实战学习

Python核心技术与实战(极客时间)链接:
http://gk.link/a/103Sv

What is the use of “assert” in Python?:
https://stackoverflow.com/questions/5142418/what-is-the-use-of-assert-in-python


GitHub链接:
https://github.com/lichangke/LeetCode

知乎个人首页:
https://www.zhihu.com/people/lichangke/

简书个人首页:
https://www.jianshu.com/u/3e95c7555dc7

个人Blog:
https://lichangke.github.io/

欢迎大家来一起交流学习

相关文章

  • 16 合理利用assert

    目录链接:https://www.jianshu.com/p/e1e201bea601 什么是 assert? P...

  • python 规范篇 如何合理使用 assert

    assert 的合理使用,可以增加代码的健壮度,同时也方便了程序出错时开发人员的定位排查。 什么是 assert?...

  • 合理利用

    运用现代管理工具 利用电脑、信息管理系统能把时间的利用效率提高。可要是使用不当,也会造成浪费、影响效率。现在网上漫...

  • 如何合理利用时间?

    从小我们就被反复教导,要合理利用时间,但是究竟什么才是合理利用时间了呢? 合理利用时间就是选择去做...

  • 《让教师都爱上教学》读书笔记——早早去学校

    策略14:早早去学校 策略15:布置教室 策略16:展示各种证书和奖状 策略17:合理利用学生照片 策略18:不要...

  • 合理利用大脑

    你的大脑不可能每个时刻都处于低效状态,也不可能每一时刻都处于高效状态,每一个人的高效时间不同,大脑的高效时间用于做...

  • 合理利用网络|

    理性参与网络生活 今天,再联网已经成为我们重要的学习工具和交往平台。我们要提高媒介素养,积极利用互联网获取新知、促...

  • 合理利用资源!

    任何人都不具备完全理想的条件和资源 我们唯一能够抓住的就是我们现在所拥有的。 把眼前的不利因素巧妙地转化为有利...

  • 合理利用资源

    在项目管理中合理的利用资源相当重要。资源不仅仅包括财力物力,还包括人力。合理利用资源就是尽其所能的发挥资源的作用。...

  • 合理利用网络

    随着互联网的深入,手机和网络已经深入我们生活方方面面,想要让手机离开我们的生活,那肯定是不可能的。但还是要控制好手...

网友评论

    本文标题:16 合理利用assert

    本文链接:https://www.haomeiwen.com/subject/qmrelctx.html