Python pass语句作用和Python assert断言函数的用法

 更新时间:2022年03月24日 09:18:26   作者:睿科知识云  
这篇文章主要介绍了Python pass语句作用和Python assert断言函数的用法,文章内容介绍详细具有一定的参考价值,需要的小伙伴可以参考一下,希望对你有所帮助

一、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 错误。

到此这篇关于Python pass语句作用和Python assert断言函数的用法的文章就介绍到这了,更多相关pass语句和 assert断言函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python深度学习人工智能BackPropagation链式法则

    python深度学习人工智能BackPropagation链式法则

    这篇文章主要为大家介绍了python深度学习人工智能BackPropagation链式法则的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • django rest framework 自定义返回方式

    django rest framework 自定义返回方式

    这篇文章主要介绍了django rest framework 自定义返回方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • tkinter如何实现打开文件对话框并获取文件绝对路径

    tkinter如何实现打开文件对话框并获取文件绝对路径

    这篇文章主要介绍了tkinter实现打开文件对话框并获取文件绝对路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Python数据可视化之Seaborn的使用详解

    Python数据可视化之Seaborn的使用详解

    Seaborn库是python中基于matplotlib库的可视化工具库,通过sns我们可以更方便地绘制出更美观的图表。本文将分享python基于Seaborn库的一系列绘图操作,感兴趣的可以了解一下
    2022-04-04
  • python文本进度条实例

    python文本进度条实例

    这篇文章主要为大家介绍了python文本进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python 利用Pyinstaller打包Web项目

    python 利用Pyinstaller打包Web项目

    这篇文章主要介绍了python 利用Pyinstaller打包Web项目,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-10-10
  • Python内建类型list源码学习

    Python内建类型list源码学习

    这篇文章主要为大家介绍了Python内建类型list源码学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python3 socket即时通讯脚本实现代码实例(threading多线程)

    Python3 socket即时通讯脚本实现代码实例(threading多线程)

    这篇文章主要介绍了Python3 socket即时通讯脚本实现代码实例(threading多线程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • sublime text 3配置使用python操作方法

    sublime text 3配置使用python操作方法

    下面小编就为大家带来一篇sublime text 3配置使用python操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • python自带缓存lru_cache用法及扩展的使用

    python自带缓存lru_cache用法及扩展的使用

    本篇博客将结合python官方文档和源码详细讲述lru_cache缓存方法是怎么实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论