设计模式---行为型设计模式【备忘录模式】

备忘录模式:可在不破坏封装的前提下保存并恢复对象状态。Python语言对该模式提供了原生支持。

1、使用pickle对Python对象进行序列化和反序列化

   PS1:函数、类也能序列化,文件对象不能序列化

   PS2:如果自编的类其__dict__可以序列化,那么该类的实例就可以序列化

import pickle


class Boy:
    def __init__(self, name, age):
        self.name = name
        self.age = age


b = Boy("alex", 21)

# 序列化
xulie = pickle.dumps(b)
print(xulie)
# 反序列化
b_cp = pickle.loads(xulie)
print(b_cp.name, b_cp.age)
print(isinstance(b_cp, Boy))

'''
b'x80x03c__main__
Boy
qx00)x81qx01}qx02(Xx04x00x00x00nameqx03Xx04x00x00x00alexqx04Xx03x00x00x00ageqx05Kx15ub.'
alex 21
True
'''

2、使用json序列化字典和列表

原文地址:https://www.cnblogs.com/staff/p/11653537.html