python中的断言(assert语句)

目录
  • python断言assert语句
  • assert:python断言报错语句
    • 1.设置assert报错语句
    • 2.assert a,b

python断言assert语句

assert语句的格式是【assert 表达式,返回数据】,当表达式为False时则触发AssertionError异常

try:
    n=input("请输入一个数字:")
    assert n.isdigit(),"只能输入数字"
    print("你输入的是:",n)
except Exception as ex:
    print("发现错误:",ex)

assert:python断言报错语句

assert用于判断一个表达式,在表达式结果为 False 的时候触发异常。若表达式结果为True,则不做任何反应。

代码示例1:

  • In[1]中 assert 2>1 判断为True,所以可以继续执行下面的程序。
  • In[2]中 assert 1>2 判断为False,所以报错AssertionError,程序中断。

1.设置assert报错语句

python也支持自己设置AssertionError的提示语句。格式为:

assert + 空格 + 要判断语句,“报错语句”

代码示例2:

设置AssertionError的报错提示语句为“常数比较大小出错”,在执行这条语句报错时候就可以很快知道bug出在哪。

实际应用的小例子:assert判断文件是否存在。

import os
path_txt = "test.txt"
assert os.path.exists(path_txt), "Not found text.txt"

程序路径中没有test.txt文件,因此会报错:

Traceback (most recent call last):
  File "F:/PycharmProjects/test_assert.py", line 3, in <module>
    assert os.path.exists(path_txt), "Not found text.txt"
AssertionError: Not found text.txt

2.assert a,b

还有一种格式是 assert a,b

表示判断表达式 a ,如果为 False,则输出表达式 b 的 值。

代码示例3:

在报错提示 AssertionError 的后面输出了 a 的值 1.2

代码示例4:

在报错提示 AssertionError 的后面输出了 type(a) :<class ‘float’>

总结:assert语句可以帮助程序员设置报错提醒,及时中止程序,找到bug。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 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 断言 断言和异常的使用场景 使用断言的几个原则 建议不使用断言的情况: 总结 什么是 assert 断言 Assert statements are a convenient way to insert debugging assertions into a program 断言声明是用于程序调试的一个便捷方式.断言可以看做是一个 debug 工具,Python 的实现也符合这个设计哲学,在 Python 中 assert 语句的执行是依赖于__debug__这个内置

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

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

  • 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 pass语句作用和Python assert断言函数的用法

    目录 一.Python pass语句 二.Python assert断言函数 三.Python assert断言函数用法 一.Python pass语句 在实际开发中,有时候我们会先搭建起程序的整体逻辑结构,但是暂时不去实现某些细节,而是在这些地方加一些注释,方面以后再添加代码, 请看下面的例子: age = int( input("请输入你的年龄:") ) if age < 12 :     print("婴幼儿") elif age >= 12 an

  • python assert断言的实例用法

    断言声明是一种方便的程序调试方式. 1.可将断言视为debug工具,Python的实现也符合这种设计理念.assert语句的执行依赖于__debug__,且默认值为True. 2.如果__debug__为True,则仅执行assert语句. 实例 assert 可以同时声明两个 expression,例如 assert expression1, expression2 等价于 if __debug__: if not expression1: raise AssertionError(expre

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

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

  • python中的断言(assert语句)

    目录 python断言assert语句 assert:python断言报错语句 1.设置assert报错语句 2.assert a,b python断言assert语句 assert语句的格式是[assert 表达式,返回数据],当表达式为False时则触发AssertionError异常 try: n=input("请输入一个数字:") assert n.isdigit(),"只能输入数字" print("你输入的是:",n) except E

  • IDEA中java断言assert语法及使用

    前言 同C语言一样,Java也有断言关键字assert,它们的用法也比较相似. 注意:Java的断言是从1.4版本开始的,以前的版本不支持断言. 一.断言语法 java中断言有两种语法 assert 布尔表达式: assert 布尔表达式 :"错误信息提示": 第一种语法如果条件判断为ture程序继续执行,如果判断为false,则会终止程序并报出AssertionError异常. 第二种语法如果判断为ture程序也是继续执行,如果判断为false,则会终止程序并报出你所输入的错误信息.

  • Python中三种条件语句示例介绍

    目录 if if…else if…elif…else 总结 if """ 条件语句: if if...else if...elif...else if 语句的格式: if 条件: 条件成立要执行的语句 条件:运算符构成---> bool """ print(1) print(2) result = input('请输入(y/n):') if result == 'y': print('good~') print('-'*20) if…els

  •  python 中的条件判断语句的使用介绍

    目录 1. 避免多层分支嵌套 2. 封装过于复杂的逻辑判断 3. 不同分支下的重复代码 4. 合理使用三元表达式 5. 常见技巧 5.1德摩根定律 5.2自定义类的魔法方法 5.3在条件判断中使用 all() / any() 5.4使用 try/while/for 中 else 分支 6. 常见陷阱 6.1与 None 值得比较 5.2and 和 or 的运算优先级 1. 避免多层分支嵌套 Python中利用缩进来替代 { }.如果多个 if 嵌套, 堪称 ” 嵌套 if 地狱 “ 下面的代码直

  • Python中的 pass 占位语句

    前言: Python pass 是空语句,是为了保持程序结构的完整性:pass 不做任何事情,一般用做占位语句. Python 语言 pass 语句语法格式如下: pass 测试实例: 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- # 输出 Python 的每个字母 for letter in 'Python': if letter == 'h': pass print '这是 pass块' print '当前字母 :', letter print "

  • Python中的异常处理相关语句基础学习笔记

    异常是指因为程序出现了错误而在正常控制流以外采取的行动,其分为两个阶段,第一阶段是引发异常的错误,当系统检测到错误并且意识到异常条件,解释器(也可以是程序员引发异常)会引发一个异常通知前段控制流有错误发生,对异常的处理发生在第二阶段,异常引发后,可以调用很多不同的操作,可以是忽略错误,或是记录错误但不采取任何措施,采取补救措施后终止程序,或是江青问题的影响后设法继续执行程序  类似Python这样支持引发和处理异常的语言,可以让开发人员在错误发生时不仅有检测错误的能力,还可以采取更可靠的补救措施

  • Python中生成器和yield语句的用法详解

    在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" 或者 "定义和使用函数")对于大多数学生是没有问题的.但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是"生成器和yield关键字".我猜这对大多数新手Python程序员也是如此. 有事实表明,在我花了大功夫后,有些人仍然不能理解生成器和yield关键字.我想让这个问题有所改善.在这篇文章中,我将解

  • Python中的条件判断语句与循环语句用法小结

    if语句 >>通用格式 if语句一般形式如下: if <test1>: <statements1> elif <test2>: <statements2> else: <statements3> 另外需要注意的是,Python中是没有switch/case语句的 while循环 while语句是Python语言中最通用的迭代结构,简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句块. >>一般格式 while &l

  • Python中的if判断语句中包含or问题

    目录 Python if判断语句中包含or python中if相关语句 1.if语句 2.if-else语句 3.if-elif-else(多重判断)语句 4.if嵌套语句 5.猜拳小游戏 6.三目运算符 Python if判断语句中包含or i= 0 if i == 1 or 5: print(i) 此时并非是判断i是否等于1或者5,而是(if i == 1) or (5): 所以这个if判断语句前半段 i==1为false, 则继续判断后半句:后半段为5,此时5为非零,即为true.所以整体

随机推荐