Выполнение кода (code)
Функция code позволяет выполнять пользовательский Python-код в изолированной песочнице. Используйте ее для обработки данных, вычислений и трансформаций, которые невозможно реализовать стандартными функциями.
Параметры
| Параметр | Описание |
|---|---|
code |
Код для выполнения (Python) |
save_as |
Имя переменной для сохранения результата |
Написание кода
Код пишется в встроенном редакторе с подсветкой синтаксиса Python. Для возврата результата используйте return:
return input
Если в коде нет return, можно записать результат в переменную result:
result = 42
Доступные данные
Внутри кода доступны все переменные, созданные ранее в сценарии (через add_var, http_request и др.).
Доступные функции
Песочница предоставляет ограниченный набор встроенных функций. Импорт модулей запрещен.
Базовые
int, float, str, bool, len, range, print
Математика
abs, round, min, max, pow, sqrt, sin, cos, tan, log, exp
Случайные числа
random(), randint(a, b), uniform(a, b), choice(seq)
Время
time() — текущее время в секундах (Unix timestamp)
Примеры
Обработка текста
text = message.upper()
return text
Вычисления
price = 100
discount = 0.15
return round(price * (1 - discount), 2)
Случайный выбор
responses = ["Да", "Нет", "Возможно", "Спросите позже"]
return choice(responses)
Работа с данными
items = [1, 2, 3, 4, 5]
return sum_val if (sum_val := 0) else max(items)
Ограничения
- Нет импортов —
import,open,exec,evalи другие небезопасные операции запрещены - Таймаут — выполнение ограничено 30 секундами
- Размер кода — до 500 000 символов
- Размер результата — до 2 000 000 символов
- Нет доступа к файловой системе, сети и системным ресурсам
Сохранение результата
Результат выполнения (значение return или переменная result) сохраняется в переменную, указанную в save_as. Затем его можно использовать в последующих функциях:
Результат вычисления: {=result=}
Редактор кода
Двойной клик по блоку открывает полноценный редактор с:
- Подсветкой синтаксиса Python
- Нумерацией строк
- Автоматическим переносом строк