Класс, применяемый для общих параметров естественной среды, основанный на базовом классе float
в Python 3.
Объекты экземпляров класса, созданные с использованием связанных классов, участвуют в вычислениях в приложении с использованием внутренних значений float
, а вывод (преобразование в строку) осуществляется в соответствии с настройками атрибутов класса и соответствующим комбинированием символов единиц измерения с округлением до соответствующего количества знаков после запятой.
user@machine:/u/want/anywhere/$ git clone https://gitee.com/pinpang_liao/units.git
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import units
>>> dir(units)
['CELSIUS', 'FAHRENHEIT', 'HPA', 'KPA', 'Pressure', 'Temperature', '__builtins__', '__cached__', '__doc__', '__file__',
'__loader__', '__name__', '__package__', '__spec__']
>>> p = units.Pressure(102567.89)
>>> p # Внутреннее значение — число с плавающей точкой, единица измерения — Па
102567.89
>>> print(p) # Текущая настройка вывода — кПа, два знака после запятой
102.57kPa
>>> p.unit # Просмотр текущей настройки единицы измерения
'kPa'
>>> p.unit = units.HPA # Изменение настройки на гПа
>>> print(p) # После изменения вывод символов — гПа, два знака после запятой
1025.68hPa
>>> p.decimal # Текущее количество знаков после запятой
2
>>> p.decimal = 3 # Сохранение трёх знаков после запятой при выводе
>>> print(p) # Настройка вывода — гПа, три знака после запятой
1025.679hPa
>>> p = units.Pressure(102567.89)
>>> print(p) # Текущая настройка вывода — кПа, два знака после запятой
102.57kPa
>>> p = 101010.99 # Прямое присвоение приводит к потере всех дополнительных свойств
>>> print(p) # p теперь является экземпляром базового класса float
101010.99
>>> p = units.Pressure(101010.99)
>>> print(p) # Только так можно сделать правильно
101.01kPa
Поскольку используются новые возможности форматирования строк f"{variable}"
, рекомендуется использовать среду Python версии 3.6 или выше, либо изменить соответствующий метод __str__
для адаптации к другим средам.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )