Контрольное значение 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
будет ошибкой.