假设我有一个任意的品脱量q
。有没有一种方法可以将其单位显示为符号缩写形式,而不是完整的单词
换句话说,我如何编码unit_symbol()
,使其返回“m”,而不是“meter”;“千克”不是“千克”;等是否有方法检索与数量当前单位同义的缩写形式单位符号
import pint
ureg = pint.UnitRegistry()
Q_ = ureg.Quantity
def unit_symbol(q: pint.Quantity) -> str:
# Intended to return "m", not "meter"
# "kg" not "kilogram"
# etc.
# ???
return q.units # returns long-form unit, "meter", "kilogram" etc. :-(
q = Q_(42, ureg.m)
print(unit_symbol(q)) # "meter"... whereas I would like "m"
上述措施显然未能做到这一点;它返回长格式单位
我发现^{}
但它似乎有点笨拙:将单元转换为字符串,然后再次解析该字符串
此外,对于复合单元(例如:
您可以使用
'~'
作为单元格式的规范:此功能显然没有文档记录,但可以从
Unit.__format__
的source code中推断出来(在该页面上搜索"~"
以快速导航到相关代码段)相关问题 更多 >
编程相关推荐