ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Python Assert 语句

Python Assert 语句 我们要去搞明白, 到底什么叫做断言。断言是程序里用来坚定地声明或表明某个事实的语句。比如在编一个除法的函数时, 你内心非常确定, 那个除数是不应该等于零的, 所以你就发出了断言, 说明这个除数不是零。断言仅仅只是一个布尔表达式, 它的作用是用来检查某个具体的条件有没有返回出TRUE这个结果。假若该条件的结果是 TRUE, 那么程序就什么都不会去做, 而是直接接着去执行后面那一行的代码内容。然而呢, 一旦这个条件为 FALSE, 则程序立马就会停止下来, 并且同时还可能会抛出一个相关的错误信息。它同时具备一种调试工具的属性, 原因在于当错误情境出现的时候, 该程序会立刻停止运行操作, 并且将所发生的错误信息进行展示。我们可以通过下面的这种方式去进行查看, 就是流程图。这样大家就能看得很明白。语句有内置的 语句用于在程序中使用断言条件。 语句有一个条件或表达式它应该总是为 true。如果条件为 false 会停止程序并给出 。在对应的内容里面, 使用了相关的语法。assertassert ,在这其中, 我们能够按照上文那样提到过的, 对那个语句采取两种不同的使用方式。该语句包含一个判断条件, 假如这个条件是没法成立的, 那么程序就会终止运行, 并且还会显示出相应的提示内容。另外, 该语句也可以具备一个判断条件以及一个并非必须填写的错误说明信息, 一旦那个判断条件没有实现的时候, 程序便会被强制结束, 同时不但会停止操作, 而且还会输出指定的错误告知信息。让我们拿一个例子来说明, 比如说有一个函数, 这个函数的任务是计算用户传进来的那些值的平均数, 而且要注意到, 传入的这个值绝对不应当是那种空荡荡的列表状态, 我们会动用检查参数的语句去进行把关操作, 具体的做法就是, 一旦检测到那所传进来的列表里面的长度竟然为零的话, 整个程序就当即停止运作。这个示例在使用的时候, 是不包含错误信息的。def avg(marks):assert len(marks) ! 0return sum(marks)/len(marks)mark1 []print(Average of mark1:,avg(mark1))当我们运行上述程序时输出将是AssertionError我们收到了一个错误, 出现这个错误的原因在于, 我们把一个空的列表mark1传给了语句, 这就使得条件变成了false, 程序于是停止了运行, 并且给出了相应的反馈。现在我们要传入一个其他的列表进去, 这个列表会去满足条件的那个情况, 然后大家来看看具体的输出结果到底会是什么样子的呢。示例 2带错误消息使用def avg(marks):assert len(marks) ! 0,List is empty.return sum(marks)/len(marks)mark2 [55,88,78,90,79]print(Average of mark2:,avg(mark2))mark1 []print(Average of mark1:,avg(mark1))当我们运行上述程序时输出将是Average of mark2: 78.0AssertionError: List is empty.我们把非空列表 mark2 和空列表 mark1 传入给 avg() 函数, 我们得到了 mark2 列表的输出, 但之后我们得到了一个错误。这个错误是 “List is empty”。mark2 列表满足了那个条件。程序因此继续运行, 而 mark1 不满足条件并给出了那个提示。要记住的关键点
返回列表