Я недавно начал использовать классы данных , и они будут хорошим дополнением к 3.7.Мне любопытно, если или как можно воссоздать ту же функциональность этого класса, используя классы данных.
class Nav(object):
def __init__(self, name:str, menu, page, *submenus):
self.name = name
self.menu = menu
self.page = page
self.submenus = submenus
foo = Nav("name", "menu", "page")
Это не работает.Возникает исключение TypeError: __init__() missing 1 required positional argument: 'submenus'
@dataclass
class Nav(object):
name:str
menu: Any
page: Any
submenus: tuple
foo = Nav("name", "menu", "page")
Я предполагаю, что это потому, что у класса нет инструкций для распаковки аргументов. Есть ли способ указать декоратору класса данных, что подменю необходимо распаковать?