zoukankan      html  css  js  c++  java
  • Python assert 断言

    assert断言语句用来声明某个条件是真的,其作用是测试一个条件(condition)是否成立,如果不成立,则抛出异常。


    assert一般用法:

    assert condition

    如果condition为false,就raise一个AssertionError出来。逻辑上等同于:
    if not condition:
        raise AssertionError()



    另一种使用方法:

    assert condition,expression


    如果condition为false,就raise一个描述为 expression 的AssertionError出来。逻辑上等同于:
    if not condition:
            raise AssertionError(expression)



    assert使用示例:

    # -*- coding: utf-8 -*-
    
    v1 = 1
    v2 = 2
    
    assert (v1 < v2)
    # assert (v1 > v2)
    assert (v1 > v2),'{0} is not bigger than {1}'.format(v1,v2)

    以上代码抛出异常:

    Traceback (most recent call last):
      File "xxx", line 8, in <module>
        assert (v1 > v2),'{0} is not bigger than {1}'.format(v1,v2)
    AssertionError: 1 is not bigger than 2

    断言跟异常的区别:

    断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置。
    异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性。


    对一个函数而言,一般情况下,断言用于检查函数输入的合法性,要求输入满足一定的条件才能继续执行;
    在函数执行过程中出现的异常情况使用异常来捕获。


  • 相关阅读:
    The best programmers are the quickest to Google
    NetBeans 时事通讯(刊号 # 117 Sep 16, 2010)
    Apache HttpClient 4.0.3 GA 发布
    warning LNK4070的解决办法
    看泡沫
    早秋精神
    NetBeans 时事通讯(刊号 # 117 Sep 16, 2010)
    Maven 3.0 RC1 发布
    关于类的数据成员的访问权限设计的一些思考
    看泡沫
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411757.html
Copyright © 2011-2022 走看看