断言声明是一种方便的程序调试方式。
1、可将断言视为debug工具,Python的实现也符合这种设计理念。assert语句的执行依赖于__debug__,且默认值为True。
2、如果__debug__为True,则仅执行assert语句。
实例
assert 可以同时声明两个 expression,例如 assert expression1, expression2 等价于
1
2
|
if __debug__: if not expression1: raise AssertionError(expression2) |
如果执行脚本文件时加上-O参数, __debug__则为False。
知识点扩展:
简单用法是:
assert expression
让我们用程序来测试这个expression,如果expression相当于False,那么raise一个AssertionError出来。
即逻辑上等同于:
1
2
|
if not expression: raise AssertionError |
简单看看这些例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
>>> assert True >>> assert False Traceback (most recent call last): File "<pyshell#3>" , line 1 , in <module> assert False AssertionError >>> assert 1 = = 1 >>> assert 1 = = 0 Traceback (most recent call last): File "<pyshell#1>" , line 1 , in <module> assert 1 = = 0 AssertionError >>> assert [ 1 , 2 ] # 非空列表值得注意一下,虽说也没个啥,哈哈 >>> assert not [ 1 , 2 ] Traceback (most recent call last): File "<ipython-input-48-eae410664122>" , line 1 , in <module> assert not [ 1 , 2 ] AssertionError |
到此这篇关于python assert断言的实例用法的文章就介绍到这了,更多相关python assert断言的使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/jichu/33869.html