快速数量
misu的Python项目详细描述
MISU
misu 是"misura"的缩写,意思是测量值(in 意大利语) misu 是一个用于进行计算的包 测量单位。
安装
在Windows上,提供了预编译的控制盘,因此您只需 这:
pip install misu
在linux上,您必须从源发行版(sdist)安装。这是 也在皮皮上,但你一定已经有了cython和numpy在你的 目标环境。这是因为它们需要构建 misu 。 因此,在Linux上需要这样的东西:
$ python3.7 -m venv venv $ source venv/bin/activate (venv) $ pip install Cython numpy (venv) $ pip install misu <lots of compiler output>
如果您有为Linux制作 manylinux 轮子的经验,我 我也很想得到你的帮助,为米苏制作它们!
演示
大多数情况下,您可能会与 misu 交互工作,并且 导入整个命名空间将非常方便:
frommisuimport*mass=100*kgprint(mass>>lb)
符号 kg 从 misu 包中导入。我们重新定义 用于执行内联转换的移位运算符。上面的代码 产生:
220.46226218487757
已经定义了许多单位,很容易添加更多单位。在这里 我们将相同的数量换算成盎司:
print(mass>>oz)
输出:
3571.4285714285716
你在上面看到的东西本身是无用的。你真正需要的是 能够与所表示的数量进行一致的计算 使用不同但兼容的设备:
mass=10*kg+20*lbprint(mass)
输出:
19.07 kg
对于加减法, misu 将确保 可以使用单位。乘法和除法将产生新单位:
distance=100*metrestime=9.2*secondsspeed=distance/timeprint(speed)
输出:
pip install misu0
和以前一样,用不同的 兼容尺寸单位:
pip install misu1
输出:
pip install misu2
简介
misu 是一个处理具有维度的物理量的包。 这意味着对所有被跟踪的单元进行计算 正确地。每小时可增加 千克 至 盎司 分钟 ,获得正确答案,并在中报告该答案, 比如,每周 磅
MISU是出于个人需要而产生的。我个人用过这个密码 在一个(化学)工程环境中已经超过一年了 写作,2015年2月)。每个功能都是为响应 个人需要。
功能
-
速度优化。米苏跑得很快!python中繁重的数学代码
与
MISU
一起使用时,速度仅降低5倍左右。这太多了。
比python的其他数量包更快。
-
作为cython扩展模块编写。当
使用来自您自己的cython模块的
misu
(a
.pxd
提供
用于链接)。
-
当尝试涉及不兼容单元的操作时,将
EINCompatibleUnits
引发异常,并给出明确的解释
关于哪些单元不一致的消息。
-
用于强制维度的函数的修饰符
pip install misu
3
-
一种操作程序,用于轻松地剥离单元组件以获得
普通数值
pip install misu
4
-
在命名不同单位时有大量的冗余。这个
意味着
m
,
米
,
米
,
米
,
米
将
所有的工作。原因是根据我自己的经验
交互工作(例如在ipython笔记本中)可能非常
分散注意力错误地猜测某个特定单元的名称,以及
必须查一下。
英尺
,
英尺
和
英尺
所有工作,
m3
表示m**3等。
-
您可以为维度指定一个
报告单元,这意味着您
默认情况下,可以以"英尺"为单位报告所有长度。
-
您可以为特定单元指定
报告格式
。
还有其他项目,为什么要进行MISU?
python有几个单元系统,但主要的动机是 用例是将misu写成cython模块,目前为止 python中最快的*管理单元。
* 除了"numericalunits",这是一种特殊情况
我还没检查过这句话对所有人都是正确的 他们还没有。
一般用法
对于速度临界代码,单元操作的应用仍然可以 太慢了。在这些情况下,第一次浇铸的数量是典型的 在数值中(比如双倍),执行速度临界值 计算(可能调用C库),然后重新转换 结果返回到一个数量,并从函数返回该数量。
pip install misu5
这样,您仍然可以轻松地包装性能关键计算 具有强大的单元处理功能。