python中raise和assert的区别

一、使用raise抛出异常

python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使用raise进行判断,显式的引发异常,raise执行后程序将不再向下执行。

式例:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

__author__ = '40kuai'

books_dict = {'name':'python','pages':390}

key = input('查看属性:')

if key in books_dict:

print(books_dict[key])

else:

raise KeyError

# 当要查询的属性不在字典中时会触发异常

raise也可以用户创建自定义的异常

#!/usr/bin/env python

# -*- coding:utf-8 -*-

__author__ = '40kuai'

class helei(Exception): # 继承 Exception

def __init__(self, msg):

self.message = msg

def __str__(self): # 被print调用时执行,可以不写

return self.message

if __name__ == '__main__':

try:

raise helei('我的异常') # 触发异常

except helei as e:

print(e)

二、assert使用

assert语句用于检测某个条件表达式是否为真。assert语句又称为断言语句,即assert认为检测的表达式永远为真。

断言用来指定某一操作必须为真。也可以在脚本执行时加上python -O参数来跳过assert检测。

可以使用assert False来显示代码编写未完成

python raise和except区别_python raise和assert的区别相关推荐

  1. python中raise和raise e区别_python raise和assert的区别

    python中raise和assert的区别 一.使用raise抛出异常 python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使用raise进行判断,显式的引发异常,r ...

  2. python里raise是什么意思_python raise有什么用

    Python 允许程序自行引发异常,使用 raise 语句即可. 异常是一种很"主观"的说法,以下雨为例,假设大家约好明天去爬山郊游,如果第二天下雨了,这种情况会打破既定计划,就属 ...

  3. python版本之间的区别_Python各版本之间的区别

    Python各版本之间的区别 发布时间:2020-06-17 14:22:08 来源:亿速云 阅读:161 作者:鸽子 Python发展至今有哪些版本和各版本的区别是: 一.系统区别: 1.Downl ...

  4. python中valueerror是什_Python:ValueError和Exception的区别?

    我试图理解引发ValueError和异常之间的区别.我在同一个代码中尝试了两种方法(甚至在同一个分支中),结果都是一样的--我收到了一条错误消息. 我就这个问题做了一个研究,但是没有发现有人讨论这个问 ...

  5. python 生成器 迭代器 区别_Python生成器和迭代器的区别

    What is the difference between iterators and generators? Some examples for when you would use each c ...

  6. python import from区别_python import 与 from .... import ...区别-阿里云开发者社区

    在python用import或者from...import来导入相应的模块. 模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候, 直接把相应的模块导入到我们的程序 ...

  7. python编辑器和python解释器的区别_python编译器和解释器的区别

    高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器. 编译型语言通常的执行过程是:源代码--预处理器--编译器--目标代码--链接器--可执 ...

  8. python str和repr的区别_python str与repr的区别

    尽管str(),repr()和"运算在特性和功能方面都非常相似,事实上repr()和"做的是完全一样的事情,它们返回的是一个对象的"官方"字符串表示,也就是说绝 ...

  9. python中is和 的区别_Python中is和==的区别详解

    Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么. 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识) ...

最新文章

  1. 【基础知识】win10常用快捷键
  2. IT兄弟连 JavaWeb教程 EL表达式获取对象的属性以及数组的元素
  3. 大三下学期第四周总结
  4. JavaScript 常见的六种继承方式
  5. POJ - 3294 Life Forms(二分+后缀数组)
  6. 2011年华科计算机考研复试笔试算法、数据库(回忆版)
  7. C语言 mallocfree
  8. API3价格流将与Omen预测市场进行集成
  9. 5.一个非常好用的扒站工具IDM
  10. 2021年5月12日17点49分 绿盟极光
  11. 1. 并行与分布式系统简介
  12. 2023年东北大学外国语言学及应用语言学考研上岸经验贴
  13. 5G商用牌照发放,“以竞争促落地”,日常5G服务可期
  14. 资料1:中小企业局势分析
  15. http://localhost:15672无妨访问(两种情况)
  16. jsp:使用jsp完成数据的分页显示
  17. unity3d好学吗?
  18. 【ES】Elasticsearch 简介
  19. shell脚本:sh、bash、dash的关系
  20. C++ 数据结构——BF算法

热门文章

  1. 经典升级,长直播,马上开课 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!...
  2. 认识华为 | 华为最基本的使命是活下去
  3. IT管理所遇到的问题收集(软件篇)
  4. 定了,“518囤币日”来了!囤币者,永不孤单!
  5. 在马斯克收购推特之际,为什么去中心化社交网络代表着必然的历史趋势?
  6. 51-Jenkins-Periodic Backup插件实现Jenkins备份
  7. 2019计算机学院年会主持稿,2019学校元旦联欢晚会主持词(开场白+结尾)
  8. Centos7 一键安装WPS
  9. 未来的全能保姆机器人作文_未来的保姆机器人
  10. 腾讯云从业者资格认证考试模拟题