В 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 — там только практика и реальные кейсы.
Комментарии