← Назад к вопросам

На какой версии Python пишешь?

1.3 Junior🔥 181 комментариев
#Python Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Версии Python в современной разработке

В текущих проектах я работаю с Python 3.11+, и это обоснованный выбор для новых разработок в 2024-2025 годах.

Почему 3.11+?

Python 3.11 принес значительные улучшения:

# ExceptionGroup для обработки нескольких ошибок
try:
    # несколько операций
except ExceptionGroup as eg:
    for error in eg.exceptions:
        logger.error(f"Error: {error}")

Производительность — Python 3.11 на 10-60% быстрее версии 3.10, что критично для high-load систем.

Улучшенная отладка с лучшим показом ошибок:

# Подробная информация о месте ошибки
print(1 / 0)  # ZeroDivisionError точно указывает на деление

Python 3.12 и новые возможности

Python 3.12 (вышла в октябре 2023) добавляет:

# f-string отладка
name = "Alice"
age = 30
print(f"{name=}, {age=}")
# Output: name=Alice, age=30

# Улучшенная обработка ошибок типизации
from typing import override

class Parent:
    def method(self) -> int:
        return 1

class Child(Parent):
    @override
    def method(self) -> int:
        return 2

Поддержка версий

ВерсияВыпускEOLСтатус
3.82019Октябрь 2024Deprecated
3.92020Октябрь 2025Базовая поддержка
3.102021Октябрь 2026Долгосрочная
3.112022Октябрь 2027Рекомендуется
3.122023Октябрь 2028Новый стандарт
3.132024Октябрь 2029Экспериментальный

Стратегия в проектах

Для новых проектов — использую 3.11 или 3.12 в зависимости от критичности функций, которые они предоставляют.

Для поддержки существующих проектов — придерживаюсь версии, которая уже установлена, но планирую миграцию:

# В pyproject.toml или requirements.txt
python = "^3.11"
# или
python_requires = ">=3.11,<4.0"

Для Docker контейнеров — выбираю базовый образ осторожно:

# Современная версия с slim образом
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "-m", "uvicorn", "main:app"]

Основной критерий выбора

Выбираю версию на основе:

  1. Требований проекта — нужны ли новые возможности
  2. Зависимостей — поддерживают ли они эту версию
  3. Окружения — что установлено на сервере
  4. Поддержки — получит ли версия исправления ошибок

В 2025 году 3.11 — минимальный стандарт, а 3.12 — рекомендуемая для новых проектов, так как имеет долгосрочную поддержку до октября 2028.

На какой версии Python пишешь? | PrepBro