我最近开始使用数据类,它们将是 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")
我认为这是因为该类没有解包参数的说明。 有什么方法可以指示数据类装饰器需要解压缩子菜单吗?