Python3 - 断言操作

Python3 - 断言操作 首页 / Python3入门教程 / Python3 - 断言操作

Python assert关键字被定义为测试条件的调试工具。断言主要是在程序中自信地声明或陈述事实的假设。例如,在编写除法函数时,除数不应为零,并且您断言除数不等于零。

它只是具有条件的布尔表达式,或者表达式检查条件是否返回true或false。如果为true,则该程序不执行任何操作,并且移至下一行代码。但是,如果为假,则会引发 AssertionError 异常,并带有可选的错误消息。

断言的主要任务是通知开发人员程序中不可恢复的错误,例如"找不到文件",正确地说,断言是程序的内部自检。对于任何应用程序开发领域中的测试或质量保证,这都是最重要的。 assert关键字的语法如下。

assert condition, error_message(optional)  

它是一种调试工具,其主要任务是检查条件。如果发现条件为真,则移至代码的下一行;否则,停止所有操作并引发错误。它指出了代码中的错误。

使用断言的地方

  • 检查函数的输出。
  • 用于测试代码。
  • 在检查参数值时。
  • 检查有效输入。

此示例显示了使用错误消息进行断言的工作。

def avg(scores):  
    assert len(scores) != 0,"The List is empty."  
    return sum(scores)/len(scores)  
  
scores2 = [67,59,86,75,92]  
print("The Average of scores2:",avg(scores2))  
  
scores1 = []  
print("The Average of scores1:",avg(scores1))  

输出:

The Average of scores2: 75.8
AssertionError: The List is empty.

说明:在上面的示例中,无涯教程将一个非空列表 scores2 和一个空列表 scores1 传递给了 avg() 函数。成功收到了 scores2 列表的输出,但是此后,收到了错误 AssertionError:The List is empty。断言条件由 scores2 列表满足,并允许程序继续运行。但是, scores1 不满足该条件,并给出AssertionError。

本示例在控制台中显示"Divide by 0 error"。

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/python3/python-assert-keyword.html

来源:LearnFk无涯教程网

# initializing number   
x = 7  
y = 0  
# It uses assert to check for 0   
print ("x/y value is : ")   
assert y != 0, "Divide by 0 error"  
print (x/y)   

输出:

Traceback (most recent call last):  
  File "main.py", line 6, in <module>  
    assert y != 0, "Divide by 0 error"  
AssertionError: Divide by 0 error  

在上面的示例中,无涯教程初始化了一个整数变量,即x = 7,y = 0,并尝试将x/y的值打印为输出。 Python解释程序生成了Runtime Exception,因为assert关键字发现除数为零,然后在控制台中显示"Divide by 0 error"

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

分布式数据库30讲 -〔王磊〕

Spark性能调优实战 -〔吴磊〕

Go 语言项目开发实战 -〔孔令飞〕

陈天 · Rust 编程第一课 -〔陈天〕

深入C语言和程序运行原理 -〔于航〕

快手 · 音视频技术入门课 -〔刘歧〕

超级访谈:对话玉伯 -〔玉伯〕

云原生架构与GitOps实战 -〔王炜〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

好记忆不如烂笔头。留下您的足迹吧 :)