Python学习日记(二十一) 异常处理】的更多相关文章

程序中异常的类型 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 StandardError 所有的内建标准异常的基类 ArithmeticError 所有数值计算错误的基类 FloatingPointError 浮点计算错误 Overf…
二十一. 异常处理 ● 异常的概念 程序的错误通常包括:语法错误.逻辑错误.运行异常. 语法错误指书写的程序语句不合乎编译器的语法规则,这种错误在编译.连接时由编译器指出. 逻辑错误是指程序能顺利运行,但是没有实现预期的功能,这类错误通过调试与测试发现. 操作等. 异常处理: 程序运行异常虽然是无法避免,但是可以预料,为了保证程序的健壮性,必须要在程序中对运行异常进行预见性处理,对运行异常进行预见性处理称为异常处理. 处理异常的基本思想是:在底层发生的问题,逐级上报,直到有能力可以处理异常的那级…
hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任意长度的数据转换为一个长度固定的数据串(通常以16进制符表示) 摘要算法的作用主要在于密码的密文存储,以及文件的一致性验证(比如在下载的时候,检查我们下载的文件和远程服务器上的文件是否一致;两台机器上的两个文件,检查上面的文件是否相等) 使用md5算法: import hashlib md5 = h…
转载自http://www.cnblogs.com/liwenzhou/p/8004649.html 一.JavaScript概述 1.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言…
参考:map/reduce Note 1.map():map()函数接收两个参数,一个是函数,一个是Iterable.map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. #!/usr/bin/env python3 def f(x) : return x*x l = map(f, [1, 2, 3, 4, 5, 6, 7]) print(list(l)) sh-3.2# ./map1.py [1, 4, 9, 16, 25, 36, 49] l是map函数返回的一…
前言 索引的主要作用是起到约束和加速查找,ORM框架(sqlalchemy)是用类和对象对数据库进行操作 索引的种类 按种类去分 1.普通索引:能够加速查找 2.主键索引:能够加速查找.不能为空.不能重复 3.唯一索引:加速查找.可以为空.不能重复 4.联合索引(多列): ①联合主键索引 ②联合唯一索引 ③联合普通索引 按数据结构去分 1.hash索引:哈希索引.创建一个索引表,把这些数据(下面用到的'name')转化成哈希值,再把这些哈希值放入表中,并加上这个数据的存储地址.在索引表中的顺序和…
import subprocess res = subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) print('Stdout:',res.stdout.read().decode('gbk')) print('Stderr:',res.stderr.read().decode('gbk')) PIPE把输出的东西装到一个'水管'里,如果在windows中的编码格式是gbk,执行结果:…
isinstance() 判断isinstance(obj,cls)中obj是否是cls类的对象 class Person: def __init__(self,name): self.name = name p = Person('Jane') print(isinstance(p,Person)) #True issubclass() 判断issubclass(sub,super)中sub是否是super类的派生类 class Person: def __init__(self,name):…
封装 广义上的封装,它其实是一种面向对象的思想,它能够保护代码;狭义上的封装是面向对象三大特性之一,能把属性和方法都藏起来不让人看见 私有属性 私有属性表示方式即在一个属性名前加上两个双下划线 class Fighter: def __init__(self,name,hp,atk,speed): self.name = name self.__hp = hp #私有属性 变形成self._Fighter__hp self.__atk = atk #私有属性 变形为self._Fighter__…