首页 > 解决方案 > 为什么品脱需要单位注册表?

问题描述

品脱的默认示例是

>>> import pint
>>> ureg = pint.UnitRegistry()
>>> 3 * ureg.meter + 4 * ureg.cm
<Quantity(3.04, 'meter')>

这让我想知道我需要单位注册表对象做什么。例如,我可以想象它只是一个子模块:

>>> from pint import ureg
>>> 3 * ureg.meter + 4 * ureg.cm
<Quantity(3.04, 'meter')>

ureg 作为对象而不是子模块的优势是什么?

我是否必须共享这个 ureg 对象,或者当我在不同的函数中进行多次调用时,我可以简单地创建一个新对象吗?或者它可能是一个单例,所以没关系,因为总是只有一个?

标签: pythonpint

解决方案


您的单位注册表为您定义和处理单位。您可以在注册表中定义其他单位/转换,因此没有通用注册表,只有一个可以扩展的基本注册表。

关于如何扩展,请参阅定义单位部分


推荐阅读