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来显示代码编写未完成

Python3 try-except、raise和assert解析

Python3 try-except.raise和assert解析 一.说明 关于异常捕获try-except:在学java的时候就被教育异常捕获也是java相对c的一大优点,几年下来多少也写了些代码 ...

Python 2 和 3 的区别及兼容技巧

目录 目录 前言 Python 2 or 3 ? 不同与兼容 统一不等于语法 统一整数类型 统一整数除法 统一缩进语法 统一类定义 统一字符编码类型 统一导入模块的路径搜索方式 修正列表推导式的变量作 ...

PYTHON 异常处理 一 ASSERT

assert语句,如果没记错,这个东西在C或者C++里面也有的.属于短小的断言.下面的是来自python help document的说明: Assert statements are a conve ...

ava、Python和PHP三者的区别

Java.Python和PHP三者的区别 2017年07月15日 22:09:21 书生_AABB 阅读数:18994   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

python中// 和/有什么区别

python中// 和/有什么区别 通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如: 6 / 3 = 2 ; 6,3都是整数,那么结果也就是 ...

Python 2 和 3 的区别记录

Python 2 和 3 的区别记录 print 2:关键字,可以 print a,也可以 print(a) 3:内置函数,必须带(),print(a) reload() 2:内置函数,可以直接使用 ...

Python中__repr__和__str__区别

Python中__repr__和__str__区别 看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): ...

Java Web开发和Python Web开发之间的区别

今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...

iOS exit(),abort(),assert()函数区别

iOS exit(),abort(),assert()函数区别 exit() 退出程序 abort() 停止程序, assert()检查里面的参数如果为nil抛出异常:

随机推荐

margin-bottom在IE6和IE7下失效的解决办法

IE6/7下margin-bottom无效一般出现在容器里某元素设置后在父容器内无效,这个时候只需要在父容器中加入以下两句css,基本上所有的浏览器都兼容了: overflow:hidden;zoom ...

Shi-Tomasi角点检测

代码示例: #include #include #inc ...

地理数据可视化:Simple,Not Easy

如果要给2015年的地理信息行业打一个标签,地理大数据一定是其中之一.在信息技术飞速发展的今天,“大数据”作为一种潮流铺天盖地的席卷了各行各业,从央视的春运迁徙图到旅游热点预测,从大数据工程师奇货可居 ...

通过继承nsoperation的方法--处理复杂任务

#import @class TTOperation; @protocol TTOperationDelegate

BestCoder Round #61 (div.2)

Numbers Accepts: 571 Submissions: 1212 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/26 ...

[CSS3]学习笔记-文字与字体相关样式

1.给文字添加阴影

&lt ...

jsp常用的jstl语法

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

  1. python 中全局变量、局部变量、静态变量,实例变量的区别和理解

    python 中全局变量.局部变量.静态变量,实例变量的区别和理解 在python中一个XXX.py 文件可能有多个类所以要严格区分这些变量 全局变量: 在这个模块内也就是在整个.py 文件里,并且在 ...

  2. 创建二维数组 以及 python中[0 ]* n与[0 for _ in range(n)]的区别与联系

    一.浅拷贝于深拷贝 关于浅拷贝于深拷贝:Python 的深拷贝和浅拷贝 直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy) ...

  3. Python中的单引号,双引号,三重引号的区别

    经常有人问Python中的单引号,双引号,三重引号的区别,其实上还是有区别的. 单引号和双引号基本上没什么区别,区别只在于下面这种情况. >>> S1 = 'I do like &q ...

  4. Python中 rstrip()、 lstrip()、 strip() 的用法和区别

    目录: 题目一:Python中 rstrip(). lstrip(). strip() 的用法和区别 题目二:python中append().expend()函数的用法和区别 题目三:Python中z ...

  5. python raise和except区别_python raise和assert的区别

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

  6. python中的repr是什么意思_python中str和repr有什么区别

    python中str和repr有什么区别?下面给大家详细介绍: 1.内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容.类型.数值属性等信息. 2.str( ...

  7. python中加等是什么意思_Python创建类的时候,加()和不加有什么区别、联系?

    在Python中定义类class的时候,可以加上(): class Employee(): """这里是Employee的__doc__""" ...

  8. python中的repr是什么意思_python中str和repr区别

    repr语法:repr[object] 返回一个可以表示对象的可打印的字符串,首先会生成一个这样的字符串,然后将其传给eval()可以重新生成同样的对象.但是repr所返回的对象更适合于解释器去阅读, ...

  9. python中常数e_常数python_python 常数_python 常数e - 云+社区 - 腾讯云

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python3.7以前我们可以通过import pdb的pdb.set_tra ...

最新文章

  1. asp.net断点续传技术
  2. QIIME 2教程. 24Python命令行模式Artifact API(2020.11)
  3. 评论与回复php代码,php – 显示评论和回复?
  4. 一加账号app_资讯知名种草App突然被大规模下架!官方回应
  5. 【架构】软件分层架构视角图
  6. 【IT资讯】MATLAB 不能用了,哪些替代品可以继续搞科研?
  7. make、make clean、make uninstall的使用
  8. opencv3.2+opencv_contrib+cmake
  9. 经典html,经典 HTML
  10. dubbo服务压力测试
  11. 2.TCP/IP 详解卷1 --- 链路层
  12. 区块链中心化业务必须基于中心化平台吗?
  13. oracle重做日志的信息,Oracle重做日志和日志挖掘
  14. 南阳理工ACM之房间安排
  15. 超详细带你用Java实现QQ的聊天功能
  16. wifi信号增强android,WiFi信号增强大师
  17. 教务管理系统:成绩、课表查询接口设计及抢课、监控功能实现
  18. 走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?
  19. 如何计算机内存的品牌,如何检查计算机内存模块的品牌?如何检查计算机的内存...
  20. 文件包含小总结 By Assassin

热门文章

  1. 【每日最爱一句】2013.06.18
  2. web 前端Icon图标网站
  3. 关于亚马逊广告优化如何把握设置细节值得一看?
  4. Python--元类
  5. 深刻理解Python中的元类(metaclass)
  6. ps ef grep mysql_linux ps -ef grep查找进程
  7. EFI引导win8 + ubuntu双系统
  8. IDEF0图的基本概念
  9. 搭建本地CRM开发环境
  10. Nordic 从官网下载产品规格书和离线文档