Как посчитать выражение в питоне
Обновлено: 22.12.2024
Есть строка, содержащая математическое выражение вида:
Есть ли модуль, который вычисляет значение таких выражений?
48.7k 146 146 золотых знаков 53 53 серебряных знака 209 209 бронзовых знаков задан 29 ноя '16 в 10:21 fellzo fellzo 673 5 5 серебряных знаков 14 14 бронзовых знаков 29 ноя '16 в 11:35 Связанный вопрос: Evaluating a mathematical expression in a string 30 ноя '16 в 2:21 2 мар '17 в 14:48
С точки зрения безопасности (как уже сказал @Batanichek - с eval() нужно быть очень осторожным), производительности и гибкости лучше воспользоваться numexpr:
Он, кстати, быстрее для более сложных вычислений, поддерживает использование переменных, поддерживает NumPy, SciPy и т.д.
Numexpr поддерживает многопоточные вычисления (используя все доступные ядра процессора) и VML от Intel (Vector Math Library, который интегрирован в интеловский же Math Kernel Library (MKL)) .
Читайте также: