检查 pint 中复杂单元的维数
Check dimensionality of complex unit in pint
我正在尝试检查复杂单位的维数,例如体积 (m^3) 或速度 (ft/min)。如何使用 "pint.check()" 方法查看数量是否属于该类型的维度?
这是我试过的:
import pint
ureg = pint.UnitRegistry()
volume = 4.3 * ureg.gal
这样做很有意义:
volume.dimensionality
Out[3]: <UnitsContainer({'[length]': 3.0})>
所以我尝试了 "check" 函数,但我不知道如何为音量做这个:
volume.check('[length]', 3)
不幸的是,这不起作用:
Traceback (most recent call last):
File "C:\Users\jle\...\interactiveshell.py", line 3291, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-4722a8cb0b0c>", line 1, in <module>
volume.check('[length]', 3)
TypeError: check() takes 2 positional arguments but 3 were given
您可以使用 check('[volume]')
:
检查音量
import pint
ureg = pint.UnitRegistry()
volume = 4.3 * ureg.gal
# Returns True
volume.check('[volume]')
您可以使用 check('[length]/[time]')
:
检查速度
velocity = 1 * ureg.feet / ureg.second
# Returns True
velocity.check('[length]/[time]')
我正在尝试检查复杂单位的维数,例如体积 (m^3) 或速度 (ft/min)。如何使用 "pint.check()" 方法查看数量是否属于该类型的维度?
这是我试过的:
import pint
ureg = pint.UnitRegistry()
volume = 4.3 * ureg.gal
这样做很有意义:
volume.dimensionality
Out[3]: <UnitsContainer({'[length]': 3.0})>
所以我尝试了 "check" 函数,但我不知道如何为音量做这个:
volume.check('[length]', 3)
不幸的是,这不起作用:
Traceback (most recent call last):
File "C:\Users\jle\...\interactiveshell.py", line 3291, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-4722a8cb0b0c>", line 1, in <module>
volume.check('[length]', 3)
TypeError: check() takes 2 positional arguments but 3 were given
您可以使用 check('[volume]')
:
import pint
ureg = pint.UnitRegistry()
volume = 4.3 * ureg.gal
# Returns True
volume.check('[volume]')
您可以使用 check('[length]/[time]')
:
velocity = 1 * ureg.feet / ureg.second
# Returns True
velocity.check('[length]/[time]')