国际单位制和数量库

siquant的Python项目详细描述


PyPi PackageBuild StatusCode Coverage

siquant是一个简单的纯python 3库,可以让维度分析变得轻松。

开始

维度分析

>>> fromsiquant.systemsimportsi>>> force=100*si.kilonewtons>>> moment_arm=50*si.meters>>> torque=force*moment_arm>>> torque.quantity5000
>>> str(torque.units)'1000*kg**1*m**2*s**-2'
>>> torque.get_as(si.newtons*si.meters)5000000.0
>>> torque.get_as(si.newtons)Traceback (most recent call last):
...siquant.exceptions.UnitMismatchError: ...>>> torque=torque.cvt_to(si.newtons*si.meters)>>> torque.quantity5000000.0
>>> str(torque.units)'1*kg**1*m**2*s**-2'

验证

>>> fromsiquant.dimensionsimportforce,area,stress>>> fromsiquant.systemsimportsi>>> defnormal_stress(force_q,area_q):... assertforce_q.is_of(force)... assertarea_q.is_of(area)... returnforce_q/area_q>>> stress_q=normal_stress(1*si.newtons,1*si.meters**2)>>> stress_q.is_of(stress)True
>>> stress_q.is_of(area)False

有时可能需要检查默认情况下未提供的维度。

>>> fromsiquant.dimensionsimportSIDimensions>>> fromsiquant.systemsimportsi>>> new_dim=SIDimensions(kg=1,m=1,s=1,k=1,a=1,mol=1,cd=1)>>> dist_q=1*si.meters>>> dist_q.is_of(new_dim)False

标准化

>>> fromsiquantimportScalarQuantity>>> fromsiquant.systemsimportsi>>> meters_cvt=ScalarQuantity.As(si.meters)>>> dist_q=meters_cvt(1000*si.millimeters)>>> dist_q.quantity1

>>> dist_q=meters_cvt(1000*si.meters)>>> dist_q.quantity1000

>>> dist_q=meters_cvt(1000)>>> dist_q.quantity1000

新单位

SIUnit可由工厂直接创建:

>>> fromsiquant.unitsimportSIUnit>>> fathom=SIUnit.Unit(1.8288,m=1)SIUnit(1.8288, (0, 1, 0, 0, 0, 0, 0))

或者可以导出:

>>> fromsiquant.systemsimportsi>>> rpm=si.unity/si.minutes>>> rpmSIUnit(0.016667, (0, 0, -1, 0, 0, 0, 0))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当使用RequestDispatcher时,servlets Java最终没有被调用   java生成对具有可变参数数的方法的调用   java如何使用select子句中的参数化列映射iBATIS的查询?   java无法创建类型为org的插件。阿帕奇。登录中。log4j。果心阿佩德。元素RollingFile的RollingFileAppender   java当子实体和父实体之间存在OneTONE JPA关系时,是否可以将其与父实体一起持久化?   Android上的java Facebook集成fbconnect断开链接   获取方法调用方的java机制   从列表创建Oracle阵列时出现java问题   添加和检索元素的ArrayList的java ArrayList   在java中从字符串中删除无效的XML字符   java如何构建完整生成的maven模块   java如何准确地改变播放所有分辨率midi文件的速度?   shell javac:无效标志:/src/中位_度。ubuntu中的java   java使用从其他类的方法检索到的信息