pydantic's one improvement
问题
数据类型一般都提供 kw初始化,和 position 初始化。
例如
class DATA():
m: int
n: int
kw 初始化:
d = DATA(m=1, n=1)
position初始化
d = DATA(1, 1)
因为对于相对大的数据集合,postion初始化容易对错位置。
例如:
class DATA():
m: int
n: int
。。。
s: int
而且也有些情况,不需要全部输数据fields都初始化的情况,
这两种情况下, kw初始化方式更加合适。
但是pydantic支持这两种初始化方式,
但是对于kw初始化,无法支持 动态提示功能:
而类似attr库等其它库, 都支持动态提示:
支持动态提示的库
dataclass
https://realpython.com/python-data-classes/#basic-data-classes
https://www.delftstack.com/howto/python/python-dataclass-to-dict/
attrs
https://www.geeksforgeeks.org/attr-asdict-function-in-python/
https://www.attrs.org/en/21.2.0/examples.html
namedtuple
https://docs.python.org/3/library/collections.html#collections.namedtuple
https://www.geeksforgeeks.org/python-convert-list-of-named-tuples-to-dictionary/
不支持动态提示库
pydantic
https://pydantic-docs.helpmanual.io/usage/models/