如何在Python Pint中默认输出派生单位(如psi)?
在Pint中设置默认派生单位
当然可以实现,不用每次手动调用to('psi'),只要给Pint的UnitRegistry指定对应量纲的默认显示单位就行。
具体做法是利用ureg.default_units字典,把目标量纲和你想要默认显示的单位绑定起来:
import pint ureg = pint.UnitRegistry() ureg.default_format = ".1f~" # 给压力对应的量纲设置默认单位为psi ureg.default_units[ureg.psi.dimensionality] = ureg.psi s = 42*ureg.pound_force / (4.2*ureg.inch**2) print(s) # 输出:10.0 psi
原理说明
ureg.psi.dimensionality会返回psi对应的量纲(本质就是力除以面积的量纲)- 把这个量纲作为键、psi作为值存入
default_units后,所有属于该量纲的计算结果,都会自动用psi来显示,替代原本自动生成的lbf/in2
如果需要给其他量纲设置默认单位,比如让长度默认显示英尺,操作逻辑一样:
ureg.default_units[ureg.foot.dimensionality] = ureg.foot
内容的提问来源于stack exchange,提问作者slaughter98
相关产品推荐
相关产品推荐

