При использовании декоратора @dataclass в Python поля в подклассе упорядочены в том порядке, в котором они изначально были определены в базовом классе. 3 Если поле переопределено в подклассе, его порядок не меняется. 3
При этом есть правило: поля со значениями по умолчанию должны следовать за полями без таковых. 14 Если нарушить его, может возникнуть ошибка. 4
Например, если определить классы Position и Capital следующим образом: 3
from dataclasses import dataclass@ 3 dataclass class Position: name: str lon: float = 0.0 lat: float = 0.0@ 3 dataclass class Capital(Position): country: str = 'Unknown' lat: float = 40.0< 3/code>
то порядок полей в Capital будет name, lon, lat, country. 3