为什么数据类中的字段顺序很重要?

问题描述 投票:0回答:1

我上了一堂课:

@dataclasses.dataclass(frozen=True, eq=True)
class Node:
    node_id: Optional[int] = None
    params: Dict

但是 Pycharm 强调了这一点,并表示这是“数据类的无效定义和使用”。

同时这被认为是正确的:

@dataclasses.dataclass(frozen=True, eq=True)
class Node:
    params: Dict
    node_id: Optional[int] = None

我错过了什么?

python python-3.x pycharm python-dataclasses
1个回答
0
投票

您未能提及您遇到的确切错误:

Fields with a default value must come after any fields without a default. 

同样的限制也适用于函数和方法定义:

SyntaxError: non-default argument follows default argument
© www.soinside.com 2019 - 2024. All rights reserved.