Python第十七天笔记(对象序列化、面向对象)

Python第十七天笔记

对象序列化
面向对象
面向对象的三大特征
封装
继承
多态

一、对象序列化
什么是对象序列化:
将程序中抽象的逻辑概念的对象转化为可以保存,存储的数据流的技术
为什么学习对象序列化
要实现对象数据持久化,或者对象数据的传输
python实现对象序列化:
pickle
json
pickle模块
这个模块能够实现对象和字节数据之间的转换
(1)pickle模块
pickle模块序列化的数据仅python可用,但功能强大,可以序列号函数
pickle.dump(obj,file)
将对象转换为字节数据,并且保存数据到磁盘上
import pickle
ls = [1,2,3,4,5,6]
pickle.dump(ls,open(“a.dat” , “wb”))

pickle.dumps(obj)
	将对象转换为字节数据

pickle.load(file)
	从磁盘上读取字节数据转换为对象
pickle.loads(字节数据)
	将字节数据转换为对象

(2)json模块
用来将对象转化为字符串
一般用来转换python提供的容器,如list,dict
方法和pickle类似
【json序列化方法】
dump(序列化+写入文件)
dumps(无文件操作)
【json序列化方法】
load(无文件操作)
loads(读文件+反序列化)
定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
特点:简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在这里插入图片描述
注意点:
两种语言之间数据类型的差异,用json交换。
外层必须是字典或列表这两个容器类数据类型。
必须是双引号(因为java等其它语言有使用双引号表示字符串,单引号不表示字符串)
json是字符串
json中不存在元组。序列化元组之后元组变列表;不能是集合,序列化集合报错。序列化支持类型可以进Python官方文件介绍里面有介绍。
以后传值就是传一个也要用字典或列表

(3)面向对象:
宏观上进行世界的架构
面向过程:
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展

(4)类和对象
类(class):对一类事物的统称,一般用来抽象一种事物,是抽象概念,并不存在 {静态事物,动态行为}
对象(object):类的一个实例(真实存在的案例)

定义类:
class 类名称[ (父类) ]:——遵循大驼峰命名法 比如UserName
类把需要的变量和函数组合成一起,这样包含称为“封装”
类的结构:
class 类名:
成员变量 - 属性
成员函数 - 方法

面向对象:
宏观上进行世界的架构
在这里插入图片描述
面向对象的主要思想是:封装、继承、多态

面向过程:
面向过程 以解决问题的步骤来划分

做面的过程:
	类似于:和面、揉面、擀面、烧水、切面、下面、盛面、吃面
	优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展

面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低

面向过程 和 面向对象 编程
面向过程 编程:函数式编程,C程序,shell等
面向对象 编程:功能式编程,C++ ,Java,Python等

二、with语句块的使用
python官方考虑到,在开发的过程中,忘记关闭打开的IO,因此提供了with的语句块

with open(“a.txt”, “w”) as file:
file.write(“小王 very well”)

print(“文件已经完成关闭”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值