Промты для Python в 2026: 12 сценариев от pandas и pytest до FastAPI, которые экономят часы рутины

В 2026 году Python остаётся одним из самых востребованных языков, но скорость разработки часто упирается не в знание синтаксиса, а в рутину: написание однотипных функций, отладка тестов, оптимизация запросов. AI-ассистенты вроде ChatGPT или Claude уже умеют генерировать код, но качество результата сильно зависит от того, как вы формулируете запрос. Многие разработчики используют промты вроде «напиши функцию на Python» и получают поверхностные ответы, которые приходится переписывать.

В этой подборке — 10 проверенных промтов для ежедневных задач Python-разработчика: от генерации классов до деплоя FastAPI. Каждый промт сопровождается примером использования и пояснением, для каких сценариев он подходит. Я тестировал их в реальных проектах — от pet-проектов до продакшн-сервисов. Вы сможете адаптировать их под свой стек и сэкономить часы работы.

1. Генерация класса с валидацией и type hints

Задача: быстро создать класс с полями, валидацией и аннотациями типов.

Промт:
Создай класс на Python 3.12 с использованием dataclasses или pydantic. Класс должен описывать [сущность]. Добавь валидацию полей, type hints и метод для сериализации в JSON. Предусмотри обработку ошибок.

Пример:
Создай класс User с полями id (int), email (str), age (int). Проверяй, что email содержит @, возраст от 18 до 100. Добавь метод to_json.

Результат:

from pydantic import BaseModel, EmailStr, Field

class User(BaseModel):
    id: int
    email: EmailStr
    age: int = Field(ge=18, le=100)

    def to_json(self):
        return self.model_dump_json()

2. Рефакторинг старого кода

Задача: улучшить читаемость и производительность существующего кода.

Промт:
Перепиши этот код, используя современные возможности Python (3.10+): замени циклы на генераторы, добавь type hints, разбей на функции. Объясни изменения.

Пример:

# Исходный код
def process(data):
    res = []
    for item in data:
        if item % 2 == 0:
            res.append(item * 2)
    return res

Результат:

def process(data: list[int]) -> list[int]:
    return [item * 2 for item in data if item % 2 == 0]

3. Написание тестов на pytest

Задача: сгенерировать тесты для функции или класса.

Промт:
Напиши тесты на pytest для этой функции. Покрой граничные случаи, исключения и типичные сценарии. Используй параметризацию.

Пример:

def divide(a: float, b: float) -> float:
    if b == 0:
        raise ValueError("Cannot divide by zero")
    return a / b

Результат:

import pytest

@pytest.mark.parametrize("a,b,expected", [(10, 2, 5), (0, 1, 0)])
def test_divide(a, b, expected):
    assert divide(a, b) == expected

def test_divide_by_zero():
    with pytest.raises(ValueError):
        divide(1, 0)

4. Оптимизация медленного кода

Задача: ускорить выполнение участка кода.

Промт:
Проанализируй этот код на узкие места. Предложи варианты оптимизации с примерами. Учти сложность алгоритма и использование памяти.

Пример:

result = []
for i in range(len(data)):
    for j in range(len(data)):
        if data[i] == data[j]:
            result.append((i, j))

Результат:
Использовать enumerate и словарь для группировки индексов — сложность снижается с O(n²) до O(n).

5. Работа с pandas: группировка и агрегация

Задача: быстро написать запрос к DataFrame.

Промт:
Дан DataFrame с колонками [список]. Напиши код, который группирует по [колонка], считает [агрегации] и сортирует по [колонка]. Используй pandas.

Пример:
Есть df с колонками category, price, quantity. Нужно посчитать общую выручку по категориям, отсортировать по убыванию.

Результат:

result = df.assign(revenue=df.price * df.quantity) \
    .groupby('category')['revenue'].sum() \
    .sort_values(ascending=False)

6. Генерация SQL-запроса через SQLAlchemy

Задача: построить сложный запрос без ручного SQL.

Промт:
Напиши запрос на SQLAlchemy 2.0 для выборки [данные] с фильтрацией и join. Используй async-сессию.

Пример:
Выбрать всех пользователей с их заказами за последний месяц, где сумма заказа > 1000.

Результат:

from sqlalchemy import select
from datetime import datetime, timedelta

async def get_users_with_orders(session):
    month_ago = datetime.now() - timedelta(days=30)
    stmt = select(User).join(Order).where(Order.created_at >= month_ago, Order.amount > 1000)
    result = await session.execute(stmt)
    return result.scalars().all()

7. Обработка исключений и логирование

Задача: добавить надёжную обработку ошибок.

Промт:
Оберни этот код в try/except с логированием. Используй библиотеку logging, настрой вывод в файл и консоль. Предусмотри повторные попытки при сетевых ошибках.

Пример:

def fetch_data(url):
    response = requests.get(url)
    return response.json()

Результат:

import logging
from tenacity import retry, stop_after_attempt

logger = logging.getLogger(__name__)

@retry(stop=stop_after_attempt(3))
def fetch_data(url: str):
    try:
        response = requests.get(url, timeout=10)
        response.raise_for_status()
        return response.json()
    except requests.RequestException as e:
        logger.error(f"Ошибка запроса: {e}")
        raise

8. Парсинг данных с BeautifulSoup

Задача: извлечь информацию с веб-страницы.

Промт:
Напиши парсер на Python с BeautifulSoup для извлечения [данные] с сайта. Учти возможные изменения вёрстки, добавь задержки и User-Agent.

Пример:
Собрать заголовки статей с главной страницы блога.

Результат:

import requests
from bs4 import BeautifulSoup
import time

headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
titles = [h.text.strip() for h in soup.select('h2.article-title')]
time.sleep(1)

9. Деплой FastAPI-сервиса

Задача: подготовить приложение к продакшену.

Промт:
Напиши Dockerfile и docker-compose для FastAPI-приложения с uvicorn. Добавь переменные окружения, healthcheck и автообновление.

Пример:
Есть приложение main.py с эндпоинтом /predict.

Результат:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

10. Генерация документации

Задача: автоматически создать docstring и README.

Промт:
Сгенерируй docstring в стиле Google для этой функции. Добавь пример использования и описание параметров.

Пример:

def calculate_discount(price, percent):
    return price * (1 - percent / 100)

Результат:

def calculate_discount(price: float, percent: float) -> float:
    """Рассчитывает цену со скидкой.

    Args:
        price: Исходная цена.
        percent: Размер скидки в процентах.

    Returns:
        Цена после применения скидки.

    Example:
        >>> calculate_discount(1000, 10)
        900.0
    """
    return price * (1 - percent / 100)

Эти промты помогают не тратить время на рутину и сосредоточиться на архитектуре. Главное — адаптировать их под свой контекст: указывайте версии библиотек, стиль кода и ограничения. AI не заменит понимания, но ускорит рутинные операции. Попробуйте внедрить хотя бы 2–3 промта в ежедневную работу — и увидите разницу. А если хотите глубже прокачать навыки работы с AI в разработке, изучите наши курсы на asibiont.com — там только практика и реальные кейсы.

← Все статьи

Комментарии