第五章 python中的异常处理】的更多相关文章

每种编程语言都会有自己的异常处理机制,虽然各有特色,但基本上都差不多,那么python中强大异常处理机制是什么样的呢? 一.异常: python用异常对象来表示异常情况,遇到错误后,会引发异常.如果异常对象并未被处理或捕获,程序会用回溯终止执行: >>> 1/0 Traceback (most recent call last): File "<stdin>", line 1, in <module> ZeroDivisionError: in…
Python中的异常处理 一.什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) 如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理. 二.为什么要进行异常处理 python解析器去执行程序,检测到了一个错误时,触发异常,异常触发后且没被处理的情况下,程序就在当前异常处终止,后面的代码不会运行,谁会去用一个运行着突然就崩溃的软件. 所以你必须…
python中的异常处理 1.什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下: 错误分成两种 第一种是语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 class Foo pass #语法错误示范四 print(haha) 2.逻辑错误 #Ty…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
内容回顾:1.数据类型 2.for和while循环 continue break #如下循环将怎么打印结果? for i in range(1,10): print(i) for i in range(10,20): print(i) #如下循环将怎么打印结果?----结果只打印1 for i in range(1,10): print(i) break for i in range(10,20): print(i) #如下循环将怎么打印结果?----只打印1,10-19 for i in ra…
python中的异常   异常是指程序中的例外,违例情况.异常机制是指程序出现错误后,程序的处理方法.当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理. Exception类是常用的异常类,该类包括StandardError,StopIteration, GeneratorExit, Warning等异常类. StandardError类是python中的错误异常,如果程序上出现逻辑错误, 将引发该异常.StandardError类是所有内敛异常的基类,放置在默认的命名空间中,因…
一.python程序中的会出现的错误. 1.语法错误:这种错误根本过不了python解释器的语法检测阶段,必须在程序执行之前进行改正. 2.逻辑错误:这种错误虽然过了语法检测阶段但是程序在执行的过程中会报错,这就产生了程序的异常. 3.python中程序异常的种类: IndentationError 语法错误,代码没有正确对齐. SyntaxError Python代码非法,代码不能编译(语法错误). AttributeError 试图访问一个对象没有的属性(未知的对象属性). IOError…
7.0 序 集合和字典一样,都是性能非常高效的数据结构,性能高效的原因就在于底层使用了哈希表.因此集合和字典的原理本质上是一样的,都是把值映射成索引,通过索引去查找. 7.1 PySetObject 哈希表我们在字典那一章已经介绍过了,因此直接看set在cpython中的实现. //python中的集合的每一个元素,是通过setentry这个结构体来存储的 typedef struct { PyObject *key; // 元素的指针 Py_hash_t hash; // 元素的哈希值 } s…
6.0 序 元素和元素之间可能存在着某种关系,比如学生姓名和成绩.我希望能够通过学生的姓名找到这个学生的成绩,那么只需要将两者关联起来即可.字典正是这么做的,字典中的每个元素就是一个key:value键值对,通过指定的key可以找到value.首先我们在前面的章节中说过,字典这种数据结构,python底层也在大量的使用,比如每一个类都有自己的属性字典,这就意味着python对字典这种数据结构的性能要求是极其苛刻的.所以在python底层,对字典这种数据结构进行了高度的优化.理论上,字典查找元素的…
5.0 序 我们知道对于tuple,就相当于不支持元素添加.修改.删除等操作的list 5.1 PyTupleObject对象 tuple的实现机制非常简单,可以看做是在list的基础上删除了增删改等操作.既然如此,那要元组有什么用呢?毕竟元组的功能只是list的子集.元组存在的最大一个特点就是,它可以作为字典的key.以及可以作为集合的元素.因为字典和集合存储数据的原理是哈希表,字典和集合我们后续章节会说.对于list这样的可变对象来说是可以动态改变的,而哈希值是一开始就计算好的,显然如果支持…