Я хотел бы иметь место для моих физических констант.Как сохранить часто используемые физические константы в python
Следующий ответ уже отправная точка: How-to import constants in many files
Так у меня есть отдельный файл с именем constants.py который я импортировать в свои проекты.
Теперь я хотел бы сохранить и получить доступ к дополнительной информации:
- единиц
- документация
В результате интерфейс должен быть как:
import constants as c
print c.R
>>> 287.102
print c.R.units
>>> J/(kg K)
print c.R.doc
>>> ideal gas constant
Расчеты должны использовать cR для доступа Значение.
Это в основном класс, который ведет себя как класс float , но содержит две дополнительные строки: единицы измерения и документацию. Как это можно спроектировать?
Я довольно конечно, это невозможно - cR подразумевает, что он плавает на самом следующем вызове, который вам не нужен, чтобы получить доступ к атрибуту e of float, который является простым типом ... Вместо этого вы должны использовать cR() или cRval, что позволило бы это сделать – MacHala
Вы должны посмотреть на [этот scipy module] (https://docs.scipy.org/doc/ scipy/reference/constants.html) – Lucas
Либо используйте подкласс, либо используйте делегирование и реализуйте все специальные методы. Какой выбор лучше всего зависит (хотя я бы склонялся к делегации для наименьших неожиданностей). – Bakuriu