使用pickle实现序列化和反序列化:
pickle.dump(obj,file) obj就是要被序列化的对象,file指的是存储的文件
pickle.load(file) 从file读取数据,反序列化成对象
使用pickle实现序列化和反序列化:
pickle.dump(obj,file) obj就是要被序列化的对象,file指的是存储的文件
pickle.load(file) 从file读取数据,反序列化成对象
seek(offset,[whence])
off为正往结束方向移动,为负往开始方向移动
whence:
0:从文件头开始计算(默认值)
1:从当前位置开始计算
2:从文件尾开始计算
enumerate()函数:
将序列进行枚举,使用元组包含起来并每一个元素前面加上索引符。
文本文件的读取:
1.read([size])
从文件中读取size个字符,并作为结果返回。如果没有size参数,则读取整个文件。
2.readline()
读取一行内容作为结果返回。读取到文件末尾,会返回字符串。
3.readlines()
文本文件中,每一行作为一个字符串存入列表中,返回该列表。
中文乱码问题:
windows操作系统默认的编码是GBK,Linux操作系统默认的编码是UTF-8。当用open()时,调用的时操作系统打开的文件,默认编码是GBK
numpy的索引和切片
索引从0开始
2:取得连续多行,[[2,5,6]]多一个[]取得不连续的行
:,1取得单列
:,1:取得连续列
:,[]取得不连续列
取得行列交叉的内容
取得不相邻的点
divmod()函数可以同时得到商和余数。
divmod(5,2)
(4,1)
返回的是一个元组
open()函数用于创建文件对象,基本语法如下:
open(文件名[,打开方式])
自定义异常类:
自定义异常类一般都是运行时异常,通常继承Exception或其子类即可。
自定义异常由raise语句主动抛出。
trackback模块:
用于打印异常信息
with不是取代try,except,finall 只是作为补充,用于文件管理,网络通信时的开发。
return语句和异常处理问题:
return有两种作用:结束方法运行、返回值。
一般不把return放到异常处理结构中,而是放到方法最后。
设计模式_单例模式实现:
单例模式的核心作用是确保一个类只有一个实例,并且提供一个访问该实例的全局访问点。
设计模式_工厂模式:
GOF
is-a 关系,使用继承
has-a关系,使用组合
对象的浅拷贝和深拷贝:
特殊属性:
obj.__dict__ 对象的属性字典
obj.__class__ 对象所属的类
obj.__bases__ 类的基类元组(多继承)
obj.__base__ 类的基类
obj.__mro__ 类的层次结构
obj.__subclasses__() 子类列表
特殊方法和运行符重载:
多态:
是指同一个方法调用由于对象不同可能会产生不同的行为。
1.多态是方法的多态,属性没有多态
2.多态的存在有2个必要条件 继承、方法重写。