Сообщить об ошибке.

Значение KW_ONLY модуля dataclasses в Python

Поля dataclass только для ключевых слов

Контрольное значение KW_ONLY() модуля dataclasses синтаксически используется как аннотации типа поля класса данных.

Любые поля после псевдополя с типом KW_ONLY помечаются как поля только для ключевых слов. Обратите внимание, что псевдополе типа KW_ONLY в противном случае полностью игнорируется. Что включает имя такого поля. По соглашению для поля KW_ONLY используется имя _. Поля только для ключевых слов означают параметры __init__(), которые должны быть указаны как ключевые слова при создании экземпляра класса.

В этом примере поля y и z будут помечены как поля только для ключевых слов:

from dataclasses import dataclass, KW_ONLY

@dataclass
class Point:
  x: float
  _: KW_ONLY
  y: float
  z: float

p = Point(0, y=1.5, z=2.0)

В одном классе данных указывать более одного поля с типом KW_ONLY будет ошибкой.