python 错误处理 assert详解

assert是断言的意思,解释为:我断定这个程序执行之后或者之前会有这样的结果,如果不是,那就扔出一个错误。

语法:

assert expression [, arguments]
assert 表达式 [, 参数]

举例:

def foo(s):
 n = int(s)
 assert n != 0, 'n is zero!'
 return 10 / n

def main():
 foo('0')

>Traceback (most recent call last):
 ...
AssertionError: n is zero!

assert的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。

如果断言失败,assert语句本身就会抛出AssertionError:

启动Python解释器时可以用-O参数来关闭assert

补充知识:python中assertion异常

python中的assert是一种最简单的异常机制

assert的基本语法是:

"assert" expression1 ["," expression2]

expression1用于判断生成布尔值,当expression1为假的时候,则抛出异常,[]中的内容可选,即用户可以选择异常的提示值:

>>>a=23
>>>assert a==23
>>>a=a-1
>>>assert a==23
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AssertionError
>>>assert a==23 , "error1"
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AssertionError: error1

以上这篇python 错误处理 assert详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 对python中assert、isinstance的用法详解

    1. assert 函数说明: Assert statements are a convenient way to insert debugging assertions into a program: assert语句是一种插入调试断点到程序的一种便捷的方式. 使用范例: assert 3 == 3 assert 1 == True assert (4 == 4) print('-----------') assert (3 == 4) ''' 抛出AssertionError异常,后面程序不

  • Python中断言Assertion的一些改进方案

    Python Assert 为何不尽如人意? Python中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛出异常. >>> assert 1 + 1 == 2 >>> assert isinstance('Hello', str) >>> assert isinstance('Hello', int) Traceback (most recent call last): File "<input>

  • Python assert语句的简单使用示例

    写在前面 最近每日一更,我这菜鸡都有点儿不好意思了 简单介绍 简单用法是: assert expression 让我们用程序来测试这个expression,如果expression相当于False,那么raise一个AssertionError出来. 即逻辑上等同于: if not expression: raise AssertionError 简单看看这些例子: >>> assert True >>> assert False Traceback (most rec

  • Python3 assert断言实现原理解析

    语法格式如下: assert expression 等价于: if not expression: raise AssertionError assert 后面也可以紧跟参数: assert expression [, arguments] 等价于: if not expression: raise AssertionError(arguments) 以下为 assert 使用实例: >>> assert True # 条件为 true 正常执行 >>> assert

  • Python断言assert的用法代码解析

    在开发一个程序时候,与其让它运行时崩溃,不如在它出现错误条件时就崩溃(返回错误).这时候断言assert 就显得非常有用. python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假. 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常. assert的语法格式: assert expression 它的等价语句为: if not expression: raise AssertionError 这段代码用来检测数据类型

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

    这篇文章主要介绍了Python assert关键字原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python assert(断言)用于判断一个表达式,在表达式条件为 False 的时候触发异常. 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况. 语法格式: assert expression 等价于: if not expression: raise AssertionError asser

  • python assert的用处示例详解

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助.本文主要是讲assert断言的基础知识. python assert断言的作用 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假.可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为

  • python中assert用法实例分析

    本文实例讲述了python中assert用法.分享给大家供大家参考.具体分析如下: 1.assert语句用来声明某个条件是真的. 2.如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句. 3.当assert语句失败的时候,会引发一AssertionError. 测试程序: >>> mylist = ['item'] >>> assert len(mylist) >=

  • python3 assert 断言的使用详解 (区别于python2)

    python3 和python以前的版本有点不同 如果你断言的 语句正确 则什么反应都没有 但是如果你出错之后 就会报出 AssertionError 并且错误可以自己填写 格式 : assert+空格+要判断语句+双引号"报错语句" 例子: 出错时候 assert 1>5, "chucuo" 输出值为: --------------------------------------------------------------------------- As

  • python 错误处理 assert详解

    assert是断言的意思,解释为:我断定这个程序执行之后或者之前会有这样的结果,如果不是,那就扔出一个错误. 语法: assert expression [, arguments] assert 表达式 [, 参数] 举例: def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0') >Traceback (most recent call last): ... AssertionEr

  • Python基础之语法错误和异常详解

    目录 一.前言 二.异常 三.异常处理 3.1 try/except 3.2 try/except ... else 3.3 try-finally 四.抛出异常 4.1 raise 五.用户自定义异常 六.断言 assert 一.前言 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 二.异常 即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误.运行期检测到的错误被称为异常 三.异常处理 3.1 try/except tr

  • python学习 流程控制语句详解

    ###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flase)判断程序的运行方向 # Ture:表示非空的量(String,tuple元组 .list.set.dictonary),所有非零的数字 # False:0,None .空的量 #逻辑表达式 可以包含 逻辑运算符 and or not if: ##################################

  • Python缩进和冒号详解

    对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行. 例如: if True: print("Hello girl!") #缩进一个tab的占位 else: #与if对齐 print("Hello boy!") #缩进一个tab的占位 Python对代码的缩进要求非常严格

  • Python在信息学竞赛中的运用及Python的基本用法(详解)

    前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用Python,在进行一些小程序的编写,如数据生成器时将会非常方便,它的语法决定了其简约性.本文主要介绍一下简单的Python用法,不会深入. Python的安装和实用 Linux(以Ubuntu系统为例) 一般的Linux都自带了Python,在命令行中输入Python即可进入 如果没有出现上图的文字,可以使

  • Python 异常处理的实例详解

    Python 异常处理的实例详解 与许多面向对象语言一样,Python 具有异常处理,通过使用 try...except 块来实现. Note: Python v s. Java 的异常处理 Python 使用 try...except 来处理异常,使用 raise 来引发异常.Java 和 C++ 使用 try...catch 来处理异常,使用 throw 来引发异常. 异常在 Python 中无处不在:实际上在标准 Python 库中的每个模块都使用了它们,并且 Python 自已会在许多不

  • Python模块WSGI使用详解

    WSGI(Web Server Gateway Interface):Web服务网关接口,是Python中定义的服务器程序和应用程序之间的接口. Web程序开发中,一般分为服务器程序和应用程序.服务器程序负责对socket服务的数据进行封装和整理,而应用程序则负责对Web请求进行逻辑处理. Web应用本质上也是一个socket服务器,用户的浏览器就是一个socket客户端. 我们先用socket编程实现一个简单的Web服务器: import socket def handle_request(c

  • Python模块文件结构代码详解

    本文研究的主要是Python模块文件结构的相关内容,具体如下. Python文件结构 文件结构(范例全文) #/usr/bin/env python "this is a test module" import sys import os debug = True class FooClass (object): "Foo class" pass def test(): "test function" foo = FooClass() if de

  • 对Python 内建函数和保留字详解

    保留字: In [4]: import keyword In [5]: keyword.kwlist Out[5]: ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda'

  • 使用C++调用Python代码的方法详解

    一.配置python环境问题 1.首先安装Python(版本无所谓),安装的时候选的添加python路径到环境变量中 安装之后的文件夹如下所示: 2.在VS中配置环境和库 右击项目->属性->VC++目录 1)包含目录: Python安装路径/include 2)库目录: Python安装路径/libs 右击项目->属性->连接器->输入->附加依赖库 debug下: python安装目录/libs/python37_d.lib release下: python安装目录

随机推荐