概念
1、attrs和cattrs这两个库实现了单个对象的转换。
首先我们要肯定一下 attrs 这个库,它可以极大地简化 Python 类的定义,同时每个字段可以定义多种数据类型。
2、attrs每个字段可以定义多种数据类型,cattrs这个库就相对弱一些了,如果把 data 换成数组,用 cattrs 还是不怎么好转换的,另外它的 structure 和 unstructure 在某些情景下容错能力较差。
实例
from attr import attrs, attrib from cattr import structure, unstructure @attrs class User(object): name = attrib() age = attrib() data = { 'name': 'Germey', 'age': 23 } user = structure(data, User) print('user', user) json = unstructure(user) print('json', json)
以上就是python库实现对象转换的方法,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。