Я могу без проблем использовать kwargs
при создании объекта класса данных:
@dataclass()
class Data:
name: str = 'Unnamed'
additional: int = None
things: int = None
dic = {'additional': 123, 'things': 456}
res = Data(name='Somename', **dic)
Output: Data(name='Somename', additional=123, things=456)
Однако я хотел бы распаковать kwargs
внутри класса данных, когда они не являются частью вызывающих аргументов:
@dataclass()
class Data:
name: str = 'Unnamed'
additional: int = None
things: int = None
def __post_init__(self):
self(**dic) #unpack kwargs to fields
dic = {'additional': 123, 'things': 456}
res = Data(name='Somename')
dic
на ваш__post_init__
, который вызывается__init__
? - person Patrick Artner   schedule 10.10.2020