1 抛出异常
raise 异常类型:
异常类型:要求必须是Exception的子类
上周总结
1,文件操作
a,操作流程:打开文件--->操作文件--->关闭文件
with open() as 文件变量名:
文件操作
open(文件路径,打开方式,encoding=编码方式)
b,打开方式
r/br/rb
w/bw/wb/a:文件路径不存在会自动创建
c,编码方式
文本编码,二进制不能设置
d,读(read)、写(write)
e.json文件/json数据
json数据的格式:只有一个数据,并且类型必须是json支持的数据类型
数据类型及其表现:数组[ , ];对象{ : ,};数字20;字符串"scdv";布尔true,fales;null
python对json的支持:
load(文件对象):获取json中的数据,并且转换成相应的python数据
loads(json格式的字符串):将字符串转换成python数据
dump():将python数据转换成json数据然后在写到json文件中
dumps():将python数据字符串转换成json格式字符串
f,数据本地化和持久化
比如将数据number的值转数据本地化
从本地取值--->対取出的值进行处理--->将新值存到本地
2,异常捕获
try:
需要捕获异常的代码
except:
异常发生
finally:
不管异常是否发生,都执行
a,except:捕获所有异常
b,except 类型名:捕获指定的异常(这个结构可以出现多次)
c,except(类型名1,类型名2...):
抛出异常
raise 异常类型:
异常类型:要求必须是Exception的子类
3,类和对象
3.1概念
类:具有相同功能和属性的对象的集合(抽象的)
对象:类的实例(具体的)
3.2类的声明
class 类名(父类):
类的说明文档
类的内容
3.3创建对象
a,格式:对象=类名()
b,通过调用构造方法创建对象,会自动调用init属性去对对象初始化
c,init方法的传参
3.4属性
对象属性:
a,init方法中声明,self.属性名=值
b,通过对象去使用
c,对象属性的增删(了解),获取对象属性的值和修改对象属性值(掌握)--->对象.属性
类的字段
a,直接声明在类中的变量
b,通过类去使用--->类.字段
私有化、保护类型(getter和setter)等
3.5方法
对象方法:
a,直接声明在类中的方法
b,自带一个self参数(self不需要传参,指向当前对象)
c,对象方法通过对象调用
d,需要使用对象属性可以调用类中所有的方法
类方法:
a,@classmethod修饰
b,自带一个cls参数(cls参数不需要传参,指向当前类)
c,类方法通过类调用
d,需要使用类的字段的时候
静态方法:
a,@staticmethod修饰
b,没有自带参数
c,通过类来调用
d,不需要对象的时候
本质上,python中的类可以调用类中声明的所有方法
二、类的补充
1,多继承
python中的类支持多继承,但不建议使用
多继承继承时,子类可以拥有所有父类的所有方法和字段,但是只能继承第一个父类的对象属性
class Animal:
def __init__(self,age=0,name='zhangsan'):
self.age=age
self.name = name
def eat(self):
print('%s在吃东西'%(self.name))
class Fly:
def __init__(self):
self.max_height=0
def fly(self):
print('最大能飞%d米'%(max_height))
class Bird(Animal,Fly):
pass
2,多态
多态指的是一种事物有多种形态
有继承就有多态,不同类继承自同一个类,其实就是对这个共同的父类的不同形态
继承后对方法的重写也是多态的表现
3,封装,继承,多态
封装:一个类可以通过不同的方法对不同的功能进行封装。通过属性对不同的数据进行封装
继承:通过继承让子类拥有父类的属性和对象
4,包
将多个模块封装到一起,就是包。包就是有一个默认文件init.py的文件夹
a,import 包.模块
import download.saveData
download.saveData.save()
b,from 包 import 模块
from download import saveData
saveData.save()
c,from 包.模块 import 方法
from download.saveData import saveData.save
saveData.save()
5,raise 错误类型
raise可以让程序主动崩溃
raise:关键字
错误类型:必须是一个类型,并且是Exception的子类
网友评论