带单位的数值模拟类
unithandler的Python项目详细描述
这是一个用于管理和与单位交互的包。焦点 包将提供数值类型对象(例如float和int) 也有一个unit属性。这三个核心类 包是Unit、UnitFloat和UnitInt。
虽然有多种支持单元的包,但是 包的重点是实现单元的直接实现 不影响数字的Python功能。
另外,UnitFloat类被设计用来表示 存储值的大小 si前缀。存储的值按其表示形式缩放,但仍保留 操作时锁定到指定的前缀。例如,0.005 如果打印的话,'L'将表示为5 mL,但是 对于任何数值操作,行为都像0.005。这是为了 自动跟踪单位的刻度,同时允许用户 方便地可视化存储值的大小。
Unit类
这个类处理所有与单元相关的属性和方法。那unit 属性返回一个适当格式的单元(用 上标)作为字符串。单元以字典格式管理, 把一种力量与所表示的每一个单位联系起来。类(及其子类) 是结构化的),以便可以使用python轻松地修改单元 内置的乘法和除法运算符(与 使用笔和纸跟踪单元)。
UnitFloat类
UnitFloat类是一个类似于float的数值类,它具有 相关单位。该类已经定义了所有python magic方法,其中 在^{tt5}上或通过^{tt5}启用所有适当的修改和操作$ 物体。通常,每个magic方法的返回是另一个UnitFloat 实例,但有关详细信息,请参阅UnitFloat文档。
已知限制
因为这个包完全用python编写,所以它不提供 直接访问真正的float和int值。像这样的, 可能会遇到一些错误或意外的功能。
目前numpy支持仅限于基本的ufunc实现。 执行^{tt23}时可能遇到意外行为$ 对UnitFloat或UnitInt执行操作。我们正在努力全面实施 支持对该包中的数值类执行矢量化操作。 据我们所知,完全支持math包,因此 当我们 努力启用numpy支持。