Я работаю над проектом, который позволяет пользователям отслеживать различные типы данных со временем. Часть основной идеи - то, что пользователь должен смочь ввести данные с помощью любых единиц, что они должны. Я смотрел на обе единицы:
http://pypi.python.org/pypi/units/
и количества:
http://pypi.python.org/pypi/quantities/
Однако я не уверен лучший способ пойти. Из того, что я могу сказать, количества более сложно, но включает лучший первоначальный список единиц.
Я приветствую использование явных единиц в приложениях для научных вычислений. Использование явных единиц аналогично чистке зубов. Это добавляет немного скуки, но безопасность типов, которую вы получаете, может сэкономить много проблем в долгосрочной перспективе. Например, не врезать орбитальные аппараты стоимостью 125 миллионов долларов в планеты .
Вам также, вероятно, следует проверить эти два других пакета единиц / количеств Python:
Scientific.Physics.PhysicalQuantity
Однажды я исследовал Scientific.Physics.PhysicalQuantity. Это не совсем соответствовало моим потребностям, но могло удовлетворить ваши. Из краткого описания сложно сказать, какие функции вам нужны.
Я закончил тем, что написал свой собственный пакет python для преобразования единиц измерения и анализа размеров, но он еще не упакован для выпуска. Мы используем мою систему единиц в привязках Python для нашей системы OpenMM для молекулярной механики с ускорением на GPU. Вы можете просмотреть svn-репозиторий моего кода модулей Python по адресу:
В конечном итоге я собираюсь упаковать его для распространения. Если вам это интересно, дайте мне знать. Это могло бы побудить меня упаковать его раньше.Функции, которые я искал, когда разрабатывал систему единиц SimTK python, включали следующее:
Какие функции важны для вас?
Я думаю, что вы должны использовать количество, потому что количество имеет некоторые единицы, связанные с ним.
Например, давление будет иметь количество, которое можно было ввести и преобразовать в и разные единицы (PA, PSI, ATM и т. Д.). Вероятно, вы можете создать новые величины, относящиеся к вашему приложению.