Python assert 断言函数「建议收藏」

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

大家好,又见面了,我是你们的朋友全栈君。

使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。本文主要是讲assert断言的基础知识。

python assert断言的作用

python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

assert断言语句的语法格式

    assert python 怎么用?
    expression assert 表达式
  1. assert语句用来声明某个条件是真的。
  2. 如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。
  3. 当assert语句失败的时候,会引发一AssertionError。

下面做一些assert用法的语句供参考:

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

>>assert 2+2==2*2
>>assert len(['my boy',12])<10
>>assert range(4)==[0,1,2,3]
>>> mylist = ['item']
>>assert len(mylist) >= 1
>>mylist.pop()
'item'
>>assert len(mylist) >= 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

如何为assert断言语句添加异常参数

assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:

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

自定异常

class ShortInputException(Exception):
    '''自定义的异常类'''
    def __init__(self, length, atleast):
        #super().__init__()
        self.length = length
        self.atleast = atleast

def main():
    try:
        s = input('请输入 --> ')
        if len(s) < 3:
            # raise引发一个你定义的异常
            raise ShortInputException(len(s), 3)
    except ShortInputException as result:#x这个变量被绑定到了错误的实例
        print('ShortInputException: 输入的长度是 %d,长度至少应是 %d'% (result.length, result.atleast))
    else:
        print('没有异常发生.')

main()

原文地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128602.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JetBrains Fleet 初体验

    JetBrains Fleet 初体验几天前获得了fleet的体验资格。长话短说,今天就来和你一起看看现在的fleet都有啥先看名字–fleet什么是fleet?n.舰队;捕鱼船队;(一国的)全部军舰,海军看来,JetBrains是想让”OneIDEtocodeitall.”的口号落实,真正的实现一人成军。配合它自带的Distributedmode,前端后端统一管理。或许真正的Monorepo就会来临?再看图标铁灰色底座配合缺了两个缺口和天空蓝淡紫渐变的圆球主体,我猜它…抱歉我看不懂,于是我当场质问了JetBra.

    2022年6月14日
  • PreparedStatement 不定参数处理「建议收藏」

    PreparedStatement 不定参数处理「建议收藏」最近项目用到PreparedStatement,根据输入条件查询数据,输入条件不为空,则参与查询,为空,则不参与查询。网上搜了,也是按照网上的方法,也不算原创,记录一下。参考文章:https://blog.csdn.net/dream_broken/article/details/44681597/代码如下:Connectionconn=null;PreparedStatem…

    2022年6月1日
  • 【javascript】详解变量,值,类型和宿主对象

    【javascript】详解变量,值,类型和宿主对象

    2022年3月6日
  • Oracle创建表空间和创建临时表空间

    Oracle创建表空间和创建临时表空间/*第1步:创建临时表空间 */createtemporarytablespacekc_temptempfile’C:\app\Administrator\oradata\orcl\kc_temp.dbf’ size50m  autoextendon  next50mmaxsize20480m  extentmanagementlocal;   

    2022年7月27日
  • 分布式文件存储选型比较[通俗易懂]

    分布式文件存储选型比较[通俗易懂]一、分布式文件存储的来源在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB,ZB.挖掘其中数据的价值也是企业在不断地追求的终极目标。但是要想对海量的数据进行挖掘,首先要考虑的就是海量数据的存储问题,比如Tb量级的数据。谈到数据的存储,则不得不说的是磁盘的数据读写速度问题。早在上个世纪90年代初期,普通硬盘的可以存储的容量大概是1G左右,硬盘的读取速度大概为4.4MB/s.读取一张硬盘大概需要5分钟时间,但是如今硬盘的容量都在1TB左右了,相比扩展了近千倍。但是硬盘的读取速度大概是10

    2022年6月10日
  • jar中没有主清单属性啥意思啊_java命令运行jar找不到主类

    jar中没有主清单属性啥意思啊_java命令运行jar找不到主类1.首先我是用Maven导出到包,得到的jar文件保存在2.在这个文件目录下cmd运行,java-jarcsdn-1.0-SNAPSHOT.jar这句命令提示出现”jar中没有主清单属性”3.解决方法;用压缩包的方式打开jar文件autoUp.class这个是我编译之后得到的class文件main函数在这个里面打开META-INF文件夹,看到MANIFEST.MF文件以记事本的方式打开我的里面一开始是这个样子再里面添加一句代码Main-Class:autoUp

    2022年9月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号