我想为我的物理常数找个地方。
以下答案已经是一个起点: 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
计算应使用 c.R 来访问值。
它基本上是一个类,其行为类似于 float 类但包含两个额外的字符串:单位和文档。这怎么设计?
继承类float
,你必须重写__new__
-method:
class Constant(float):
def __new__(cls, value, units, doc):
self = float.__new__(cls, value)
self.units = units
self.doc = doc
return self
R = Constant(287.102, "J/(kg K)", "deal gas constant")
print R, R * 2
>>> 287.102 574.204
print R.units
>>> J/(kg K)
print R.doc
>>> ideal gas constant
我是一名优秀的程序员,十分优秀!