Python assert关键字原理及实例解析

yipeiwu_com7年前Python基础

这篇文章主要介绍了Python assert关键字原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python assert(断言)用于判断一个表达式,在表达式条件为 False 的时候触发异常。

断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。

语法格式:

assert expression

等价于:

if not expression:
  raise AssertionError

assert后可跟参数:

assert expression[,assert_error_msg]

等价于:

if not expression:
  raise AssertionError(assert_error_msg)

assert True 举例:

assert True, '断言失败,返回错误'
print('断言成功,执行接下来的代码')

assert False, '断言失败,返回错误'
print('断言成功,执行接下来的代码')

执行结果:

断言成功,执行接下来的代码
Traceback (most recent call last):
 File "<stdin>", line 4, in <module>
  assert False, '断言失败,返回错误'
AssertionError: 断言失败,返回错误

其它栗子:

# assert True 的栗子
assert 1 == 1
assert '123'.isdigit()
assert 123
assert 'Hello World!'
assert [1, 2, 3]
assert (1, 2, 3)
assert {'a': 1}

# assert False 的栗子
assert 1 == 2
assert ''
assert []
assert {}
assert ()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用Python的Twisted框架实现webshell密码扫描器的教程

好久以来都一直想学习windows中得iocp技术,即异步通信,但是经过长时间研究别人的c++版本,发现过于深奥了,有点吃力,不过幸好python中的twisted技术的存在方便了我。...

深入讲解Python中的迭代器和生成器

深入讲解Python中的迭代器和生成器

在Python中,很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等等,这些对象都可以被称为可迭代对象。至于说哪些对象是可以被迭代访问的,就要了解一下迭代...

Pytorch自己加载单通道图片用作数据集训练的实例

Pytorch自己加载单通道图片用作数据集训练的实例

pytorch 在torchvision包里面有很多的的打包好的数据集,例如minist,Imagenet-12,CIFAR10 和CIFAR100。在torchvision的datas...

python数据清洗系列之字符串处理详解

python数据清洗系列之字符串处理详解

前言 数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节。有人说一个分析项目80%的时间都是在清洗数据,这听起来有些匪夷所思,但在实际的工作中确实如此。...

PyQt5 QTableView设置某一列不可编辑的方法

如下所示: class EmptyDelegate(QItemDelegate): def __init__(self,parent): super(EmptyDeleg...