ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

pint:Python物理单位计算系统

pint:Python物理单位计算系统 文章目录简介单位和物理量*格式化输出简介pint是Python的物理单位计算系统通过指定量纲避免因单位混淆导致的计算错误。支持pip和conda安装。pip install pint -i https://pypi.tuna.tsinghua.edu.cn/simple conda install -c conda-forge pint单位和物理量*UnitRegistry是pint中的核心类内置了完整的国际单位制SI、英制单位及词头如 kilo, milli并维护它们之间的数学等价关系。frompintimportUnitRegistry uregUnitRegistry()ureg.meter# Unit(meter)30.0*ureg.meter# Quantity(30.0, meter)从示例代码可知单位的类型是Unit单位和数值相乘之后输出的类型是Quantity即物理量。pint提供了更便捷的物理量生成方案下面几行代码的返回值完全一致。3.14*ureg.meter ureg.Quantity(3.14,ureg.meter)ureg.Quantity(3.14,meter)ureg(3.14meter)ureg(3.14m)这些单位可以在安装路径中的default_en.txt中查看。通过to方法可以实现单位的转换调用to_compact可将单位转换为更紧凑的形式。ureg(3.14m).to(mm)# Quantity(3140.0, millimeter)qureg(3.14km)*ureg(1mm)# Quantity(3.14, kilometer * millimeter)q.to(mm**2)# Quantity(3140000.0, millimeter ** 2)q.to_compact()# Quantity(3.14, meter ** 2)格式化输出pint提供了多种格式化输出方案其中pretty模式更适合命令行打印输出示例如下uregpint.UnitRegistry()q2.3e-6*ureg.m**3/(ureg.s**2*ureg.kg)print(q)# 2.3e-06 meter ** 3 / kilogram / second ** 2f{q:~P}# 2.3×10⁻⁶ m³/kg/s²f{q:~^P}# 2.3×10⁻⁶ kg⁻¹·m³·s⁻²f{q:~#P}# 2.3 mm³/g/s²f{q:P#~}# 2.3 mm³/g/s²f{q:.2f~#P}# 2.30 mm³/g/s²f{q:#~}# 2.3 mm ** 3 / g / s ** 2其中#表示在输出前先调用Quantity.to_compact()~表示试用单位的符号而非标准名称有了这个meter变成m^表示使用负指数代替除号有了这个【/kg/s²】变成【·m³·s⁻²】。pint还支持其他模式对于形如f{q:#~P}将P替换为其他模式的字母其结果如下表所示f{q:#~D}f{q:#~C}f{q:#~P}f{q:#~H}f{q:#~L}f{q:#~Lx}标记说明示例D默认(default)2.3 mm ** 3 / g / s ** 2C紧凑(compact)2.3 mm**3/g/s**2Ppretty2.3 mm³/g/s²HHTML2.3 mm3/(g s2)Llatex‘2.3\ \frac{\mathrm{mm}^{3}}{\left(\mathrm{g} \cdot \mathrm{s}^{2}\right)}’Lxlatex siunitx\SI[]{2.3}{\milli\meter\cubed\per\gram\per\second\squared}
返回列表