Ruff too-many-arguments (PLR0913)
too-many-arguments в Ruff проверяет код на предупреждение PLR0913. Правило относится к группе Pylint.
Почему это неправильно
Правило Pylint указывает на возможную ошибку, слишком сложный код или нарушение распространённых соглашений Python.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила too-many-arguments и пример ниже.
Пример ошибки
def calculate_position(x_pos, y_pos, z_pos, x_vel, y_vel, z_vel, time):
new_x = x_pos + x_vel * time
new_y = y_pos + y_vel * time
new_z = z_pos + z_vel * time
return new_x, new_y, new_z
Как правильно
from typing import NamedTuple
class Vector(NamedTuple):
x: float
y: float
z: float
def calculate_position(pos: Vector, vel: Vector, time: float) -> Vector:
return Vector(*(p + v * time for p, v in zip(pos, vel)))
Автоисправление
Ruff не предлагает автоисправление для этого правила.
