python面向对象07/异常处理 目录 python面向对象07/异常处理 1. 异常错误分类 2. 什么是异常? 3. 异常处理 4. 为什么要有异常处理 5. 异常处理的两种方式 1.if判断 2.try 6. 常见异常种类 1. 异常错误分类 语法错误 if 2 > 1 print(222) dic = {'name'; 'alex'} # 错误使用; tu = (2, 3, 4'' 6 ) # 错误使用'' 逻辑错误 num = int(input('请输入数字')) # 输入的不是数…
本节内容 1.概述 2.知识点回顾 3.断言 一.概述 python中断言,这个我是第一次听说到的,断言有什么用呢?断言就是做一些程序的检查工作,就是在执行之前需要做的一些检查,比如类似于安检一样,合格的就能过,不合格的就不能过.也类似于银行转账工作,真正的转账之前是不是要检查用户各方面,是不是账号密码是不是都没有问题,转的钱必须没有问题,所以你在这个操作之前做一下检查. 二.知识点回顾 1.__new__方法: 先于__init__方法之前执行 2.__call__方法: 实例化之后加括号,去…
一.异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常).程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关).如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理. python解释器去执行程序,检测到了一个错误时,触发异常,异常触发后且没被处理的情况下,程序就在当前异常处终止,后面的代码不会运行,谁会去用一个运行着突然就崩溃的软件.所以你必须提供一种异常处理机制来增强你程序的健壮性与容错性.良好的容错…
一.组合 自定义类的对象作为另一个类的属性. class Teacher: def __init__(self,name,age): self.name = name self.age = age t1 = Teacher('Bob',20) print(type(t1.name), type(t1.age)) class Student: # 学生可以有 老师 属性 def __init__(self, name, age, teacher): self.name = name self.ag…
本章内容: 创建类和对象 面向对象三大特性(封装.继承.多态) 类的成员(字段.方法.属性) 类成员的修饰符(公有.私有) 类的特殊成员 isinstance(obj, cls) & issubclass(sub, super) 异常处理 反射 单例模式 创建类和对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用. 类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 对象则是根据模板创建的实…
上篇我们已经了解了一些面向对象的基础知识,本次就了解下面向对象的一些进阶知识(虽然我也不知道有什么卵用). 静态方法 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可以调用静态方法: 说了那么多,估计会有些懵逼,咱们还是直接上代码看下静态方法怎么使用吧! 1.按照正常逻辑编写代码并加上@staticmethod定义静态方法eat: class People(object): def __init__…
什么是异常? 异常是对问题的描述,将问题的对象进行封装: 异常体系的特点:异常体系中的所有类以及建立的对象: 都具有可抛性,也就是说可以被throw和throws关键字所操作,只有异常体系具有该特点: throws定义在函数上,用于抛出异常类:throw定义在函数内,用于抛出异常对象,前者可以抛出多个,用逗号隔开. 代码加注释讲解: package demo1;/* * 有一个圆形和长方形* * */class NoValueException extends Exception{ NoValu…
一.面向对象高级语法部分 1.静态方法     通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通过类名来调用这个方法. class Dog(object): def __init__(self,name): self…
异常处理, 异常的产生  运行时异常:程序运行中产生的异常:RuntimeException类.   编译时异常:程序在编译时产生的异常:除了RuntimeException类  其他都是编译时产生的异常.    处理异常两种方式 抛出异常:把异常抛给调用者区解决   throws 抛出异常 捕获异常:编程者自己处理try....catch...finally... 创建异常, 1.自己创建sun公司的异常类对象 public class ClassException { public stat…
在之前我们已经说过了 Python 中内置的主要的几种对象类型,(数,字符串,列表,元组和字典).而面向对象的核心人物还没出场呢 .那么我们常说的对象是什么类型的呢,其实他的类型就是“类”.继承封装和多态,这是通用的面向对象编程的思想 . 继承是为了提高代码的复用性,子类可以通过继承父类来实现父类中的方法,这就是光明正大的偷懒 .举例: class Person(): def eat(self): print("person can eat ...") def slepp(self):…
7.15 异常处理 1.什么是异常 异常是错误发生的信号,程序一旦出错,如果程序中还没有相应的处理机制,那么该错误就会产生一个异常抛出来,程序的运行也随之终止 2.一个异常分为三部分: 异常的追踪信息 异常的类型 异常的值 3.异常的分类: 语法异常,逻辑上的异常 语法: 单分支 try: print('start.....') x=1 y l=[] l[3] d={'a':1} d['b'] print('end....') except NameError: print('变量名没有定义')…
一.认识异常 1.常用异常报错的错误类型 IndexError                索引超出序列的范围 KeyError                  字典中查找一个不存在的关键字 NameError                 尝试访问一个不存在的变量 IndentationError          缩进错误 AttributeError            尝试访问未知的对象属性 StopIteration             迭代器没有更多的值 Assertio…
1:什么是异常 异常就是在我们的程序在运行过程中由于某种错误而引发Python抛出的错误: 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在         python中,错误触发的异常如下 2:常用异常 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. python标准异常 异常名称 描述 BaseException 所有异常的基类 S…
NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是简单的终止程序,而NSAssert会报告出错误信息并且打印出来.所以尽管的使用NSAssert,可以不去使用assert. iOS中用的最多的是两对断言, NSAssert/NSCAssert 和 NSParameterAssert/NSCparameterAssert. 要知道他们的区别,我们先来看看他们定义. #if !defined(NS_BLOCK_ASSERTIONS) #if !defined(_NSA…
oop06异常处理 2014-9-2 8:36:33 NotePad++ By jiancaigege 摘要: 1.异常处理 2.类中常用函数 异常处理 语法格式: try{ //捕获异常 }catch(Exception $e){ //处理异常 } 注:Exception $e表示$e是一个Exception类的对象. Exception 是所有异常的基类. 常见的还有子类PDOException 类摘要(了解即可) Exception { /* 属性 */ protected string…
前言:Liskov替换原则是关于继承机制的应用原则,是实现开放封闭原则的具体规范,违反了Liskov原则必然意味着违反了开放封闭原则.因此,有必要对面向对象的继承机制及其基本原则做以探索,来进一步了解面向对象中实现抽象,多态技术的基础;继承及其规范 核心思想: 子类必须能够替换其基类. 这一思想体现为对继承机制的约束规范,只有子类能够替换其基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基类.在父类和子类的具体实现中,必须严格把握继承层次中的关系和特征,将基类替换为子类,程序的行为不会…
1. 类的约束 1. 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementedError class Base: def login(self): raise NotImplementedError("没有实现登录") class Person(Base): def login(self): print("正常使用") class SpecialPerson(Base): def denglu(self): print("非正常"…
对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组的缺陷.它灵活,使用,提高软件的开发效率.并且不同的集合适用于不同的场合. 集合框架的好处: 1.容量自增长: 2. 提供有用的数据结构和算法,从而减少编程工作: 3. 提高了程序速度和质量,因为它提供了高性能的数据结构和算法: 4. 允许不同 API 之间的互操作,API之间可以来回传递集合: 5…
urllib2 的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是URLError和HTTPError,以及对它们的错误处理. URLError URLError 产生的原因主要有: 没有网络连接 服务器连接失败 找不到指定的服务器 我们可以用try except语句来捕获相应的异常.下面的例子里我们访问了一个不存在的域名: # urllib2_urlerror.p…
this 在方法中表示调用当前方法的对象,this与主方法中对象类名调用是同理的,也是去指向堆中的地址. this可以解决成员变量和形参的问题 使用构造器还是setter方法 构造器:在创建对象的时侯使用,只能使用一次 setter方法:在创建对象后使用,可以多次使用 包 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用;2.可以更好得维护程序结构;3.可以避免因为类名相同造成的冲突; package 在开发中存在几百个Java文件,为了更好的管理多个Java文件,我们可以使用pa…
目录 python面向对象07/异常处理 1. 异常错误分类 2. 什么是异常? 3. 异常处理 4. 为什么要有异常处理 5. 异常处理的两种方式 1.if判断 2.try 6. 常见异常种类 1. 异常错误分类 语法错误 if 2 > 1 print(222) dic = {'name'; 'alex'} # 错误使用; tu = (2, 3, 4'' 6 ) # 错误使用'' 逻辑错误 num = int(input('请输入数字')) # 输入的不是数字的时候就会报错 dic = {'n…
python 面向对象 你把自己想象成一个上帝,你要创造一个星球,首先你要把它揉成一个个球,两个直径就能创造一个球 class star: '''名字(name),赤道直径(equatorial diameter),极直径(polar diameter)''' def __init__(self,name,eqDiameter,poDiameter): self.name=name self.eqDiameter=eqDiameter #赤道直径 self.poDiameter=poDiamet…
内容目录: 面向对象三大特性之多态性 面向对象中的成员:字段.方法.属性 类的成员修饰符 类的特殊成员 特殊成员方法 面向对象其他 异常处理 设计模式之单例模式 面向对象的多态性 多态性:即指多种形态多种类型 比如在函数中可以定义def func(arg),arg可以为为整型,可以为字符串可以为字典可以为列表等等多种类型,这就是面向对象的多态性. #python中 def func(arg): print(arg) func(1) func('jabe') func([11,22,33]) #p…
异常处理: 一.语法错误 二.逻辑错误 为什么要进行异常处理? python解释器执行程序时,检测到一个错误,出发异常,异常没有被处理的话,程序就在当前异常处终止,后面的代码不会运行 l = ['login','register'] for num,i in enumerate(l,1): print(num,i) try: 处理异常用try num = int(input('num >>>')) 中间时可能出现错误的代码 print(l[num - 1]) except (ValueE…
一.异常是什么 二.常见异常 三.异常处理 四.不太常用语法 五.主动判处异常 六.断言 七.使用场景 八.自定义异常类型 一.异常是什么 """ 什么是异常? 异常是错误发生前的一种信号 如果没有人来处理这个信号 程序就会中断执行并抛出错误信息 异常的分类: 1.语法检查异常 这种异常是最低级异常 绝对不应该犯 也非常好避免 如果是编译器 会自动提示 如果是文本编辑器 在你运行代码前 解释器会检查语法 2.运行时异常(逻辑异常) 这种异常只有在代码被执行时才能发现 我们要处…
一.isinstance和issubclass isinstance:判断某个对象是否是某个类的实例,返回True或Flase issubclass:判断某个类是否是某个类的子类. 例如: class Foo(object): def __init__(self,name): self.name = name class bar(Foo): pass obj=Foo('wd') print(isinstance(obj,Foo))#判断obj是否是Foo的实例 print(issubclass(…
正则表达式 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理 断言(Assertions) python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generat…
本周内容 组合 封装 多态 面向对象高级 异常处理 网络协议 通讯原理 互联网协议 TCP/UDP 基于TCP协议的套接字 上周回顾 1.xml,os,os.path 2.ATM+购物车 三层结构 3.面向对象与面向过程编程的对比 今日内容 1.面向对象的精髓 精髓是将数据和处理数据的代码绑定成了一个对象 只要获取到对象,相应的数据和方法都有了 class Mysql: def __init__(self,host,port,db,charset): self.host = host self.…
20155216 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 认识Lambda表达式语法 Lambda表达式不需要也不允许使用throws关键字来声明可能产生并需要向上抛出的异常. Lambda为的就是表示一种行为,趋向于纯函数,因此一般情况下是不需要使用标识加以区分的. Lambda不从父类型中继承任何名字,包括: 接口的静态final字段 接口的静态嵌套类 默认方法 Lambda参数与表达式体中的局部声明可以屏蔽字段名. Lambda中的this和supe…
面向对象及异常处理 内置函数 总结:__init__.__del__.__str__.attr系列.item系列.__call__ __str__与__repr__ 使用print/str方法时会自动触发__str__方法,当__str__不存在,尝试__repr__ 使用repr方法时会自动触发__repr__方法 repr方法通常用于返回对象的字符串表示形式 这两个方法都只能返回字符串 eval方法可以将一个字符串当做有效的代码执行 算术运算符重载 示例: class Number: def…