首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python对象序列化

python对象序列化

作者头像
用户7886150
修改2020-12-24 10:22:17
修改2020-12-24 10:22:17
8780
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: pickle — Python对象序列化

python对象序列化 

pickling和unpickling python对象的序列化和反序列化:通过将对象序列化可以将其存储在变量或者文件中(pickling),可以保存当时对象的状态,实现其生命周期的延长。并且需要时可以再次将这个对象读取出来(unpickling)。原理: 将对象所属于的类和所以属性值保存下来,可以通过这些值重定义对象,从而还原对象。实现: 使用pickle模块 

  方法: 

    dumps(obj):保存在变量中;loads(byte_data):从变量中还原;dump(obj,file):保存在文件中;load(byte_data,file):从文件中还原。 示例: import pickle

#自定义类

class Student:

    def __init__(self,n,a,h):

        self.name = n

        self.age = a

        self.height = h

    def age_add(self,year):

        self.age += year

        self.height += year*5

stu01 = Student('wang',17,170)

print("初始状态:",stu01)

print(stu01.age,stu01.height)

stu01.age_add(2)

print("两年后:",stu01)

print(stu01.age,stu01.height)

#dumps:将对象序列化存储在变量中

du = pickle.dumps(stu01)

print(du)

#load:还原对象

ret = pickle.loads(du)

print("loads:",ret)

print(ret.age,ret.height)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档