python进阶学什么,python进阶路线图
什么是Python断言?
Python断言,即Python assert语句,简单理解为if语句的简单版本,
用来判断一个表达式的值。如果结果为真,程序运行;否则,程序停止运行并抛出AssertionError。
语法如下:
断言表达式类似于if语句,如下所示:
If表达式:
raise AssertionError可以在assert表达式后添加一个参数[,arguments],等效的if语句如下:
If表达式:
Raise AssertionError(arguments)如何使用模拟场景在游戏中设置一个18岁以下禁止访问的功能。
def overage18(年龄):
Assertiage=18,对不起,我未满18岁,所以我不能玩这个游戏
打印(“享受快乐的游戏时光”)
if __name__==__main__ :
Overage18(15)但是这种情况并不完美,因为断言是为了通知开发者你写的程序有异常。
如果在编写程序之前可以考虑到潜在的错误,例如程序运行时的网络中断,那么这种情况就不需要使用断言。
生成断言主要是为了调试辅助,为了程序自检,而不是为了错误处理。程序bug还是要靠try解决…除了。
因为断言是针对开发人员的,所以下列情况下的断言是有效的。
def something():
此函数执行许多操作
My_list=[] #声明了一个空列表
#做点什么
返回我的列表(_ l)
定义函数():
调用某个函数来实现基于结果的逻辑
ret=something()
Assert len(ret)==18,“列表元素数量错误”
#使用断言来完成某些操作:
不要使用断言来验证用户的输入。这是因为当python通过命令行运行时,如果添加了-O标志,断言将被全局禁止,您的所有验证都将丢失。
断言函数assertEqual(a,b,msg=msg)常用来判断两个值是否相等;AssertNotEqual(a,b,msg=msg):前一个函数的反义词;Self.assertTrue(a,msg=none):判断变量是否为真;AssertFalse(a,msg=none):同上;asserts none(obj= ):判断obj是否为空;assertsinotnone(obj= ):同上;还有其他功能,可以随意检索信息,掌握相关用法非常容易。
扩展用于防御性编程的知识Python断言的适用场景。
当我们使用断言时,我们应该捕捉不应该发生的非法情况。在这里,我们应该注意非法情况和异常错误之间的区别,
后者是不可避免的,必须处理。并且断言后的条件不一定发生。
验证假设的条件。
断言验证程序员的假设,所以这些假设的异常可能不会触发。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。