Ruff sys-version0 (YTT301)

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

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

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

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

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

import sys

sys.version[0]  # Если использовать Python 10, это оценивается как "1".

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

import sys

f"{sys.version_info.major}"  # Если использовать Python 10, это оценивается как "10".