Python assert断言声明,遇到错误则立即返回问题

 更新时间:2022年05月23日 08:42:47   作者:Sesen_s  
这篇文章主要介绍了Python assert断言声明,遇到错误则立即返回问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

assert断言声明,遇到错误则立即返回

在使用python语言开发深度学习模型时,经常会遇到模型运行结束时才会发现的崩溃状态,或者得到的结果不是预想的那样。

这就需要在模型中善于使用assert语句,来判断某些变量的类型或者shape等是否满足要求。

用法为 :

assert expression(你想判断的内容)

# 等价于
if not expression:
    raise AssertionError

例如:

在逻辑回归中,z = W的转置*X,样本X含有五个特征,则我们在设置W时。要一直保证其shape为[5,1]

>>> import numpy as np
>>> w = np.zeros((5,1))
>>> w
array([[0.],
       [0.],
       [0.],
       [0.],
       [0.]])
>>> assert(w.shape == (5,1))
>>> assert(w.shape == (2,1))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

assert断言函数

说明一下代码适用于python2,不完全适用与py3

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

python assert断言的作用

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

assert断言语句的语法格式

  • assert python 怎么用?
  • expression assert 表达式

assert语句用来声明某个条件是真的。

如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。

当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()

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

相关文章

  • Linux下远程连接Jupyter+pyspark部署教程

    Linux下远程连接Jupyter+pyspark部署教程

    这篇文章主要为大家详细介绍了Linux下远程连接Jupyter+pyspark部署教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Python实现读取excel中的图片功能

    Python实现读取excel中的图片功能

    这篇文章主要介绍了如何利用Python实现读取Excel中的图片的功能,文中的实现步骤讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-01-01
  • 利用python实现货币识别功能

    利用python实现货币识别功能

    本文的目的是介绍如何利用Python实现货币识别技术,随着经济的发展和国际贸易的增加,货币的种类越来越多,本文将介绍货币识别的基本原理、实现过程以及代码实现,感兴趣的朋友可以参考下
    2024-01-01
  • 使用pyinstaller打包PySide2程序中遇到的问题

    使用pyinstaller打包PySide2程序中遇到的问题

    说到打包,我们就需要用到python程序的打包工具pyinstaller了,这个包安装简单,使用同样简单,下面这篇文章主要给大家介绍了关于使用pyinstaller打包PySide2程序中遇到的问题,需要的朋友可以参考下
    2023-05-05
  • Python正则表达式中flags参数的实例详解

    Python正则表达式中flags参数的实例详解

    正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,下面这篇文章主要给大家介绍了关于Python正则表达式中flags参数的相关资料,需要的朋友可以参考下
    2022-04-04
  • Python机器学习NLP自然语言处理基本操作词向量模型

    Python机器学习NLP自然语言处理基本操作词向量模型

    本文是Python机器学习NLP自然语言处理系列文章,带大家开启一段学习自然语言处理 (NLP) 的旅程。本篇文章主要学习NLP自然语言处理基本操作词向量模型
    2021-09-09
  • Python中类的创建和实例化操作示例

    Python中类的创建和实例化操作示例

    这篇文章主要介绍了Python中类的创建和实例化操作,涉及Python面向对象程序设计中类的定义、实例化、方法调用等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • django基于restframework的CBV封装详解

    django基于restframework的CBV封装详解

    这篇文章主要介绍了django基于restframework的CBV封装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python基础while循环及if判断的实例讲解

    python基础while循环及if判断的实例讲解

    下面小编就为大家带来一篇python基础while循环及if判断的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 利用Python代码实现数据可视化的5种方法详解

    利用Python代码实现数据可视化的5种方法详解

    在数据科学中,有多种工具可以进行可视化。下面这篇文章主要给大家介绍了关于利用Python代码实现数据可视化的5种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-03-03

最新评论