面对Python代码, 若要用Class对数据进行序列化和反序列化, 执行过程可能会以普通的方式增加, 我们有这样一个例子:
#!/usr/bin/envpython #_*_coding:UTF-8_*_ classData: params:None data=[ { 'params':'Medusa' }, { 'params':0 } ]
假如我们想用Data实例将Data组成数组, 您可能需要直接实例数据, 并用列表装载实例对象, 当然了, 您可以进行for循环实例,并将其添加到事先声明的列表中, 然后你可能会想到生成器, 更加简单, 这种需求可以实现, 那我们试想一下, 如何将我们生成的列表对象还原为data数据?
在Python代码中, 当然,我们可以实现, 实现方法可能没那么美观。
此时我们需要这样做:
python-mpipinstallattrs python-mpipinstallcattrs
安装两个库:attrs和cattrs, 那我们怎么用呢? 看例子:
#!/usr/bin/envpython #_*_coding:UTF-8_*_ fromattrimportattrs,attrib fromcattrimportstructure,unstructure @attrs classData: params=attrib() data={ 'params':'Medusa', } instance=structure(data,Data) json=unstructure(instance)
输出instance和json的值:
#instance: Data(params='Medusa') #json: {'params':'Medusa'}
我们使用instancee.Params获得的值为Medusa, 你知道如何在对象之间序列化和反序列化吗? 是的, 当然了, 你可能有更好的库, 欢迎分享您的留言~