Python pass语句作用和Python assert断言函数的用法
作者:睿科知识云 发布时间:2021-03-19 12:14:08
一、Python pass语句
在实际开发中,有时候我们会先搭建起程序的整体逻辑结构,但是暂时不去实现某些细节,而是在这些地方加一些注释,方面以后再添加代码,
请看下面的例子:
age = int( input("请输入你的年龄:") )
if age < 12 :
print("婴幼儿")
elif age >= 12 and age < 18:
print("青少年")
elif age >= 18 and age < 30:
print("成年人")
elif age >= 30 and age < 50:
#TODO: 成年人
else:
print("老年人")
当年龄大于等于 30 并且小于 50 时,我们没有使用 print() 语句,而是使用了一个注释,希望以后再处理成年人的情况。当 Python 执行到该 elif 分支时,会跳过注释,什么都不执行。
但是 Python 提供了一种更加专业的做法,就是空语句 pass
。pass 是 Python 中的关键字,用来让解释器跳过此处,什么都不做。
就像上面的情况,有时候程序需要占一个位置,或者放一条语句,但又不希望这条语句做任何事情,此时就可以通过 pass 语句来实现。使用 pass
语句比使用注释更加优雅。
使用 pass 语句更改上面的代码:
age = int( input("请输入你的年龄:") )
if age < 12 :
print("婴幼儿")
elif age >= 12 and age < 18:
print("青少年")
elif age >= 18 and age < 30:
print("成年人")
elif age >= 30 and age < 50:
pass
else:
print("老年人")
运行结果:
请输入你的年龄:40↙
从运行结果可以看出,程序虽然执行到第 10 行代码,但是并没有进行什么操作。
二、Python assert断言函数
Python assert
语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python 解释器会报 AssertionError
错误。
assert 语句的语法结构为:
assert 表达式
assert 语句的执行流程可以用 if 判断语句表示,如下所示:
if 表达式==True:
程序继续执行
else:
程序报 AssertionError 错误
有读者可能会问,明明 assert
会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃,这有利于我们对程序排错,提高程序的健壮性。
因此,assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具。
三、Python assert断言函数用法
下面的程序演示了 assert 语句的用法:
mathmark = int(input())
#断言数学考试分数是否位于正常范围内
assert 0 <= mathmark <= 100
#只有当 mathmark 位于 [0,100]范围内,程序才会继续执行
print("数学考试分数为:",mathmark)
运行该程序,测试数据如下:
90
数学考试分数为: 90
再次执行该程序,测试数据为:
159
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\file.py", line 3, in <module>
assert 0 <= mathmark <= 100
AssertionError
可以看到,当 assert
语句后的表达式值为真时,程序继续执行;反之,程序停止执行,并报 AssertionError
错误。
来源:https://ruikezhishiyun.blog.csdn.net/article/details/123683049
猜你喜欢
- 下面给大家介绍下pandas读取CSV文件时查看修改各列的数据类型格式,具体内容如下所述:我们在调bug的时候会经常查看、修改pandas列
- 导读我们在使用selenium打开google浏览器的时候,默认打开的是一个新的浏览器窗口,而且里面不带有任何的浏览器缓存信息。当我们想要爬
- 前言: 在各类技术岗位面试中,似乎 MySQL 相关问题经常被问到。无论你面试开发岗位或运维岗位,总会问几道数据库问题。经常有小伙
- 一、ASPJPEG文字水印对图片描边:程序代码: <% Set Jpeg = Se
- 如下所示:alist=[1,2]] >>>[1,2] alist.append([3,4]) >>>[1
- 废话不多说了,直接给大家贴js代码了,具体代码如下所示:<!DOCTYPE html><html><head&
- 场景:主库DB:utf8字符集备库DB:gbk字符集需求:校验主备数据是否一致,并且修复校验过程:设置主库连接为utf8,设置备库连接为gb
- 本文实例为大家分享了vue移动端左右滑动事件,供大家参考,具体内容如下<!DOCTYPE html><html> &
- 其实想实现这种功能很简单,首先要上传一个RAR的解压程序,就是RAR自己的解压程序,只需要它的核心程序RAR.EXE这个文件就可以了。然后就
- 如何在一台服务器上安装两个或者更多个的mysql呢?下面是详细的操作步骤,一起来学习学习吧。一、环境mysql软件包:
- 做网站数据库,是选SQL Server还是Access好,可能您会说:选MySQL好,不过现在只是讨论IIS+ASP这种架构下的选择,不讨论
- 近日在学习C++,看到函数指针,由于之前一直搞ASP,所以想ASP里面是否也有这个函数指针的东西,于是翻了翻VBScript手册,没让我失望
- 假设你想设计一个模块集(也就是一个“包”)来统一处理声音文件和声音数据。通常由它们的扩展有不同的声音格式,例如:WAV,AIFF,AU),所
- 前言经常在 https://lichess.org/ 上观看大师们玩的国际象棋比赛。这些棋局和棋手的水平超出了我们的想象,如果想知道谁有优势
- 目录环境介绍原理介绍环境介绍Python 3.6 + OpenCV 3.4.1.15原理介绍首先,提取出模板中每一个数字的轮廓,再对信用卡图
- 本文实例讲述了Python设计模式之命令模式原理与用法。分享给大家供大家参考,具体如下:命令模式(Command Pattern):将请求封
- 本文实例讲述了python中enumerate函数用法。分享给大家供大家参考。具体分析如下:今日发现一个新函数 enumerate 。一般情
- 前言索引对有一定开发经验的同学来说并不陌生,合理使用索引,能大大提升sql查询的性能,可以这么讲,随着业务数据量的不断增长,优化系统的响应速
- 如下所示:device = torch.device("cuda:0" if torch.cuda.is_availab
- 在前面的文章 Python 计算机视觉(十五)—— 图像特效处理 中我已经介绍了大部分的图像的特效处理,但还是忽略了油画特效的处理,在本篇文