Мне нужно выполнить простые математические вычисления в Python 2.7 с суммами, вычитаниями, делениями, умножениями, суммами по спискам чисел и т. Д.
Я хочу написать элегантный, пуленепробиваемый и эффективный код, но яДолжен признать, что меня смутили несколько вещей, например:
- , если в моем уравнении есть
1/(N-1)*x
, должен ли я просто кодировать 1/(N-1)*x
или, может быть, 1.0/(N-1)*x
, 1.0/(N-1.0)*x
или любую другую комбинациюиз них? - для деления, я должен использовать
//
или /
с from __future__ import division
? - , что такое практики, такие как "использование
math.fsum()
для объединения списка чисел"где-то там? - Должен ли я считать, что входные числа являются числами с плавающей запятой, или выполнять преобразование на всякий случай (может быть, риск снижения эффективности при выполнении многих операций
float(x)
)?
Итак, каковы лучшие практики написания кода для простых математических вычислений на Python, который
- элегантный / Pythonic,
- эффективный,
- пуленепробиваемый к проблемам как неопределенность в типе точного числа входных данных (число с плавающей запятой против целого числа)?