Ruff sys-version-slice3 (YTT101)

sys-version-slice3 в Ruff проверяет использование sys.version[:3].

Почему это неправильно

Если текущая мажорная или минорная версия состоит из нескольких цифр, sys.version[:3] усечет номер версии (например, «3.10» превратится в «3.1»). Это, скорее всего, непреднамеренно и может привести к труднозаметным ошибкам, если строка версии используется для проверки на конкретную версию Python.

Вместо этого используйте sys.version_info, чтобы получить доступ к текущим номерам мажорной и минорной версий в виде кортежа, который можно без проблем сравнивать с другими кортежами.

Пример ошибки

import sys

sys.version[:3]  # Эквивалентно "3.1" в Python 3.10.

Как правильно

import sys

sys.version_info[:2]  # Эквивалентно (3, 10) в Python 3.10.