国际单位制和数量库

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第三方库


热门话题
java如何在Spring Boot 2.2.0中添加弹性搜索?   jakarta ee如何在没有java认证的情况下停止直接访问网页(自定义标记)   java Hibernate:使用executeUpdate()的批删除未清除一级缓存   java如何在Hibernate中插入外键定义为Long的实体?   带参数的java Mockito单元测试计算器方法   java如何从Rally Rest API读取集合属性   java如何对基于消息的处理执行集成测试?   带插入排序的java排序字符串数组标记,双链表   java为什么在基于注释的Spring app@Value默认值中解析为null?   java Apache Commons Http客户端注册特定于客户端的协议   如何使用java反转字符串中n个部分的n个字符   java Tomcat在本地主机上运行良好,但在部署时出现内部服务器错误   使用信号量的变量的java结果   Java编译/运行时类路径问题   java哪个提供商负责AES/CTR/NOP添加?   伪错误解码器中的java响应未获取Zalando问题自定义属性