Python断言assert的用法代码解析

yipeiwu_com5年前Python基础

在开发一个程序时候,与其让它运行时崩溃,不如在它出现错误条件时就崩溃(返回错误)。这时候断言assert 就显得非常有用。

python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。

可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

assert的语法格式:

assert expression

它的等价语句为:

if not expression:
  raise AssertionError

这段代码用来检测数据类型的断言,因为 a_str 是 str 类型,所以认为它是 int 类型肯定会引发错误。

>>> a_str = 'this is a string'
>>> type(a_str)
<type 'str'>
>>> assert type(a_str)== str
>>> assert type(a_str)== int

Traceback (most recent call last):
 File "<pyshell#41>", line 1, in <module>
  assert type(a_str)== int
AssertionError

总结

以上就是本文关于Python断言assert的用法代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

使用优化器来提升Python程序的执行效率的教程

如果不首先想想这句Knuth的名言,就开始进行优化工作是不明智的。可是,你很快写出来加入一些特性的代码,可能会很丑陋,你需要注意了。这篇文章就是为这时候准备的。 那么接下来就是一些很有用...

python3.7 openpyxl 删除指定一列或者一行的代码

python3.7 openpyxl 删除指定一列或者一行 # encoding:utf-8 import pandas as pd import openpyxl xl = pd....

解决Django后台ManyToManyField显示成Object的问题

解决Django后台ManyToManyField显示成Object的问题

如果一个模型里包含了ManyToManyField,在admin后台可能会显示成object,例如 解决方法: 在定义这个类的时候,加多一个函数 实际效果: 以上这篇解决Djang...

Flask Web开发入门之文件上传(八)

Flask Web开发入门之文件上传(八)

本章我们介绍Flask Web开发中涉及的文件上传模块 定义后台接收处理逻辑 # http://flask.pocoo.org/docs/0.12/patterns/fileuplo...

讲解Python中fileno()方法的使用

 fileno()方法返回所使用的底层实现,要求从操作系统I/O操作的整数文件描述符。 语法 以下是fileno()方法的语法: fileObject.fileno();...