Как напечатать количество пинт в python и его значение

#python #pint

#python #пинта

Вопрос:

Я очень новичок в python и python pint. Я просто хочу знать поддерживаемые единицы python pint. Также в чем смысл приведенного ниже представления:

 {length: 1, time: -1}
 

Ссылка из единицы измерения пинты. Также как мне распечатать доступные единицы измерения пинт для энергии и температуры.

 from pint import UnitRegistry
ureg = pint.UnitRegistry()
ureg.Unit
 

Ответ №1:

Ключи словаря — это измерения, а соответствующее значение — это мощность этого измерения. То есть {length: 1, time: -1} это представление скорости, а примером единицы измерения, размерность которой представлена словарем, будет м / с. Для ускорения представление будет {length: 1, time: -2} :

 In [13]: ureg.Unit('m/s').dimensionality
Out[13]: <UnitsContainer({'[length]': 1, '[time]': -1})>

In [14]: ureg.Unit('m/s^2').dimensionality
Out[14]: <UnitsContainer({'[length]': 1, '[time]': -2})>
 

Чтобы получить доступные единицы измерения заданной размерности, используйте UnitRegistry.get_compatible_units ; например, для ваших двух примеров:

 In [9]: ureg.get_compatible_units('[energy]')
Out[9]:
frozenset({<Unit('electron_volt')>,
           <Unit('rydberg')>,
           <Unit('hartree')>,
           <Unit('erg')>,
           <Unit('joule')>,
           <Unit('foot_pound')>,
           <Unit('calorie')>,
           <Unit('fifteen_degree_calorie')>,
           <Unit('international_calorie')>,
           <Unit('atmosphere_liter')>,
           <Unit('thermochemical_british_thermal_unit')>,
           <Unit('international_british_thermal_unit')>,
           <Unit('british_thermal_unit')>,
           <Unit('watt_hour')>,
           <Unit('US_therm')>,
           <Unit('therm')>,
           <Unit('ton_TNT')>,
           <Unit('tonne_of_oil_equivalent')>,
           <Unit('quadrillion_Btu')>})

In [10]: ureg.get_compatible_units('[temperature]')
Out[10]:
frozenset({<Unit('degree_Rankine')>,
           <Unit('kelvin')>,
           <Unit('degree_Fahrenheit')>,
           <Unit('degree_Reaumur')>,
           <Unit('degree_Celsius')>,
           <Unit('atomic_unit_of_temperature')>,
           <Unit('planck_temperature')>})