Ruff post-init-default (RUF033)
post-init-default в Ruff проверяет код на предупреждение RUF033. Правило относится к группе Ruff-specific rules.
Почему это неправильно
Эти проверки реализованы самим Ruff и закрывают практические проблемы, которые не относятся к одному внешнему плагину.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила post-init-default и пример ниже.
Пример ошибки
from dataclasses import InitVar, dataclass
@dataclass
class Foo:
bar: InitVar[int] = 0
def __post_init__(self, bar: int = 1, baz: int = 2) -> None:
print(bar, baz)
foo = Foo() # Prints '0 2'.
Как правильно
from dataclasses import InitVar, dataclass
@dataclass
class Foo:
bar: InitVar[int] = 1
baz: InitVar[int] = 2
def __post_init__(self, bar: int, baz: int) -> None:
print(bar, baz)
foo = Foo() # Prints '1 2'.
Автоисправление
Ruff может предложить автоисправление в некоторых случаях.
