Как вывести число с определенной точностью python

Содержание
  1. 5 способов обрабатывать точные значения в Python
  2. Что мы подразумеваем под «ценностями точного управления»?
  3. Как обрабатывать точные значения в Python?
  4. 1. Оператор Python%
  5. 2. Функция формата Python ()
  6. 3. Функция Python Rounl ()
  7. Реализация точного обращения в Python
  8. Математические функции Python для обработки точности
  9. 4. Функция Python Trunch ()
  10. 5. Функция Python Ceil () и пол ()
  11. Заключение
  12. Форматированный вывод, форматирование строк
  13. Старый способ — строковый оператор форматирования
  14. Как вывести вещественное число с необходимой точностью
  15. Вывод символа по номеру
  16. Вставка в строку значений через ключ словаря
  17. Вывод данных в поля заданной ширины
  18. Новый способ форматирования — метод format()
  19. Форматирование в Python с помощью format()
  20. Параметры format()
  21. Возвращаемое значение format()
  22. Как работает format()?
  23. Для позиционных аргументов
  24. Для аргументов-ключевых слов
  25. Базовое форматирование с format()
  26. Пример №1: базовое форматирование для аргументов по умолчанию, позиционных и аргументов-ключевых слов.
  27. Форматирование чисел с format()
  28. Типы форматирования чисел
  29. Пример №2: простое форматирование чисел.
  30. Пример №3: форматирование чисел с полями для целых и чисел с плавающей точкой.
  31. Пример №4: форматирование чисел со знаками.
  32. Форматирование чисел с выравниванием
  33. Форматирование чисел с выравниванием
  34. Пример №5: форматирование чисел с выравниванием по центру, левому и правому краю.
  35. Форматирование строк с format()
  36. Пример №6: форматирование строк с полями и выравниванием.
  37. Пример №7: обрезание строк.
  38. Форматирование элементов классов и словарей с format()
  39. Пример №8: форматирование элементов класса с format().
  40. Пример №9: форматирование элементов словаря с format().
  41. Аргументы как параметры в format()
  42. Пример №10: динамическое форматирование.
  43. Дополнительные параметры форматирования с format()
  44. Пример №11: форматирование по типу с format() и переопределение метода _format().

5 способов обрабатывать точные значения в Python

Здравствуйте, читатели! В этой статье мы будем сосредоточиться на 5 способах обрабатывать точные значения в Python. Итак, давайте начнем!

Читайте также:  Чем можно чистить стеклянную варочную панель

Автор: Pankaj Kumar
Дата записи

Здравствуйте, читатели! В этой статье мы будем сосредоточиться на 5 способов обрабатывать точные значения в питоне. Итак, давайте начнем!

Что мы подразумеваем под «ценностями точного управления»?

Будь этим любым языком программирования, мы часто встречаем ситуации, где мы обрабатываем целое число или числовые данные в любые шаги приложения или манипуляции. В том же процессе мы находим данные с десятичными значениями. Это когда нам нужно обрабатывать точные значения.

Python предлагает нам различные функции для обработки точных значений для целочисленных данных. Это дает нам выбор, чтобы исключить десятичные точки или иметь настраиваемые значения в зависимости от положения десятичных значений в количестве.

Как обрабатывать точные значения в Python?

Давайте посмотрим на различные функции, которые Python предлагает для обработки точных данных и десятичных средств в наших выходах кода.

  1. Оператор Python%
  2. Функция формата Python ()
  3. Функция Python Rounl ()
  4. Функция TRUNC ()
  5. Функции Math Ceil () & Floor ()

Давайте теперь пойдем вперед и посмотрим на каждого из них в предстоящем разделе.

1. Оператор Python%

С оператором «%» мы можем отформатировать номер, а также установить предельные пределы то же самое. При этом мы можем настроить пределы точек точных точек, которые будут включены в результирующее число.

Посмотрите на синтаксис ниже!

  • Point: это относится к количеству точек, которые мы хотим иметь после десятичного количества.
  • Номер: целочисленное значение для работы.

2. Функция формата Python ()

Как и% Оператор, мы можем использовать функцию формата () тоже, что помогает нам установить пределы для точных значений. С помощью функции формата () мы отформатируем данные, учитывая ее строку, а также устанавливать пределы для точек, которые будут включены после десятичной части числа.

3. Функция Python Rounl ()

С помощью функции Python Rounl () мы можем извлечь и отображать целочисленные значения в индивидуальном формате, мы можем выбрать количество цифр, которые будут отображаться после десятичной точки в качестве проверки для обработки точностью.

Реализация точного обращения в Python

В приведенном ниже примере мы использовали вышеуказанные объясненные 3 функции для обработки значений точности в Python. Мы здесь пытаемся обрабатывать точность, установив цифру, которая будет отображаться после десятичной точки, как 4.

Математические функции Python для обработки точности

Помимо вышеуказанных функций, Python также предлагает нам математический модуль, который содержит набор функций для решения точных значений.

Математический модуль Python имеет ниже набор функций для решения точности значения

  1. Функция TRUNC ()
  2. Функции Python Ceil () и FOLE ()

Давайте посмотрим на них один за другим.

4. Функция Python Trunch ()

С помощью функции TRUNC () все цифры после окончания десятичных точек. То есть он возвращает число, предшествующее только десятичной точке.

Посмотрите на синтаксис ниже.

5. Функция Python Ceil () и пол ()

С функцией CEIL () и FOLE () мы можем округлить десятичное число для ближайшего высокого или низкого значения.

Функция CEIL () отключается от десятичного числа до ближайшего большого значения после него. С другой стороны, пола () функция отключается от стоимости до ближайшего низкого значения до него.

Заключение

Не стесняйтесь комментировать ниже, если вы столкнетесь с любыми вопросами. Для более таких постов, связанных с программированием Python, оставайся настроенными нами.

Источник

Форматированный вывод, форматирование строк

Старый способ — строковый оператор форматирования

Оператор % по отношению к строкам выполняет операцию форматирования и вставки таким образом, что объект, стоящий справа от него, встраивается согласно определенным правилам в строку слева от него:

Такой способ форматирования считается старым видимо потому, что заимствован из функции printf() языка C, а в Python кроме него появились более продвинутые средства форматирования вывода. Однако в ряде случаев использование оператора % бывает удобнее, чем использование строкового метода format().

Следует отметить, что форматируются строки, а не вывод. На вывод передается уже сформированная строка.

Как вывести вещественное число с необходимой точностью

Оператор деления / возвращает вещественное число. Если количество знаков бесконечно, то Python выведет его в таком виде:

Обычно требуется лишь определенное количество знаков. Для этого в строку записывают комбинацию символов, начинающуюся с %. Число после точки обозначает количество знаков после запятой. Символ f обозначает вещественный тип данных float.

Ставить скобки обязательно, иначе операция % выполняется раньше /:

Оператор форматирования строк выполняет округление, а не урезание:

С функцией print():

Вывод символа по номеру

Если вместо символа ‘c’ использовать ‘d’, будет вставлено само целое число.

Вставка в строку значений через ключ словаря

Вывод данных в поля заданной ширины

Бывает данные на экран надо вывести не через один пробел, а в виде таблицы. Другими словами, в полях определенной ширина, где ширина измеряется в знакоместах.

Рассмотрим пример. Допустим надо вывести числа второй строки под числами первой. Если выполнить функцию print() так:

результат будет таким:

Чтобы привести вывод к табличному виду, необходимо задать ширину поля:

Здесь в кавычках указаны форматы данных и ширина полей. После знака % за кавычками указаны данные, которые будут подставлены вместо каждого указанного формата. Если количество форматов не совпадает с количеством данных, возникнет ошибка.

Форматы данных могут быть: d — целое число, s — строка, f — вещественное число, c — символ.

По умолчанию данные выравниваются по правому краю поля. Чтобы выровнять их по левому, достаточно поставить знак минус перед числом, обозначающим ширину поля. Пример:

Новый способ форматирования — метод format()

Строковый метод format() возвращает отформатированную версию строки, заменяя идентификаторы в фигурных скобках. Идентификаторы могут быть позиционными, числовыми индексами, ключами словарей, именами переменных.

Аргументов в format() может быть больше, чем идентификаторов в строке. В таком случае оставшиеся игнорируются.

Идентификаторы могут быть либо индексами аргументов, либо ключами:

Источник

Форматирование в Python с помощью format()

Строковый метод format() форматирует строки python для более красивого вывода.

Здесь p0, p1. — это позиционные аргументы, а k0, k1. — аргументы-ключевые слова со значениями v0, v1. соответственно.

А template — это набор строк с заполнителями для аргументов.

Параметры format()

Метод format() принимает любое количество параметров. Но они делятся на два вида:

  • Позиционные аргументы — список параметров, доступ к которым можно получить по индексу параметра в фигурных скобках <индекс>.
  • Параметры — ключевые слова — список параметров типа ключ=значение, доступ к которым можно получить с помощью ключа параметра в фигурных скобках <ключ>.

Возвращаемое значение format()

Метода format() возвращает отформатированную строку.

Как работает format()?

Формат читает тип переданных аргументов и форматирует строку в соответствии с кодами форматирования в строке.

Для позиционных аргументов

Здесь Аргумент 0 — это строка “Adam”, а Аргумент 1 — число с плавающей точкой 230.2346.

Список аргументов в Python начинается с 0.

Строка Hello <0>, your balance is <1:9.3f>— это шаблон строки. Он содержит коды форматирования.

Фигурные скобки — это всего лишь заполнители, которые будут заменены аргументами. В примере выше <0>— это заполнитель для «Adam» , а <1:9.3f>— для 230.2346 .

Поскольку шаблон строки ссылается на аргументы format() ( <0>и <1>), они являются позиционными аргумента. На них можно ссылаться без использования чисел, а Python конвертирует <> в числа автоматически.

  • Поскольку «Adam» — это нулевой аргумент, он располагается в позиции <0>. Поскольку <0>не содержит других кодов форматирования, дополнительные операции не осуществляются.
  • Но в случае с первым аргументом, 230.2346 , ситуация другая. <1:9.3f>размещает 230.2346 на нужно месте и выполняет операцию 9.3f .
  • f определяет, что это формат числа с плавающей точкой. Если указать неправильно, будет ошибка.
  • Часть до точки (9) определяет минимальную ширину, которую может занимать число 230.2346. В этом случае числу 230.2346 выделены 9 мест с точкой.
    Если параметр выравнивания не указан, то он выравнивается вправо до оставшихся позиций (для строк — влево).
  • Часть после точки (3) урезает десятичную часть (2346) до указанной числа. В этом случае 2346 может занимать три места. Остаток (46) округляется и выходит 235.

Для аргументов-ключевых слов

В этом примере используется то же выражение, чтобы продемонстрировать разницу в использовании позиционных и аргументов-ключевых слов.

Здесь вместо просто параметров использованы сочетания ключ-значение. А именно: name=»Adam» и blc=230.2346 .

Поскольку ссылка на эти параметры происходит через ключи ( и ) — это именованные аргументы.

Что происходит внутри:

  • Заполнитель заменяется значением ключа name — “Adam”. Никаких дополнительных операций здесь нет.
  • В случае с аргументом blc=230.2346 заполнитель заменяется на значение 230.2346 . Но перед заменой производится операция 9.3f .
    Вывод — “230.235”. Десятичная часть обрезается после трех позиций, а оставшиеся цифры округляются. Общая ширина — 9, а два символа остаются справа.

Базовое форматирование с format()

Метод format() позволяет использовать простые заполнители для форматирования.

Пример №1: базовое форматирование для аргументов по умолчанию, позиционных и аргументов-ключевых слов.

При запуске программы вывод будет одинаковым:

При использовании смешанных аргументов аргументы-ключевые слова должны идти после позиционных аргументов.

Форматирование чисел с format()

С помощью спецификаторов формата можно форматировать и числа:

Типы форматирования чисел

Тип Значение
d Десятичное число
c Соответствующий символ Unicode
b Двоичный формат
o Восьмеричный формат
x Шестнадцатеричный формат (в нижнем регистре)
X Шестнадцатеричный формат (в верхнем регистре)
n То же, что и d , но использует местную настройку для разделения числа
e Экспоненциальная запись (e в нижнем регистре)
E Экспоненциальная запись (E в верхнем регистре)
f Отображать фиксированное количество знаков (по умолчанию 6)
F То же, что и f , только отображает inf как INF , а nan как NAN
g Общий формат. Округляет число до p значащих цифр (Точность по умолчанию: 6)
G То же, что и g . Но переключается к E , если число очень большое
% Проценты. Делит на 100 и добавляет % в конце

Пример №2: простое форматирование чисел.

При запуске этой программы вывод будет следующий:

Пример №3: форматирование чисел с полями для целых и чисел с плавающей точкой.

Эта программа выдаст следующее:

  • В первой инструкции <:5d>принимает целое число в качестве аргумента и задает минимальную ширину 5. Поскольку настройка выравнивания не задана, оно выравнивается к правому краю.
  • Во втором ширина (2) меньше, чем размер числа (1234), поэтому слева не появляется свободное пространство, но число и не обрезается.
  • В отличие от целых чисел у чисел с плавающей точкой есть целая и десятичная части. Минимальная ширина в этом случае включает обе из них и точку.
  • В третьем выражении <:8.3f>обрезает десятичную часть, округляя ее до 2 цифр. И число, теперь 12.235, занимает 8 позиций, оставляя 2 пустых местах слева.
  • Если нужно заполнить оставшиеся места нулями, спецификатор может сделать и это. Это работает как для целых чисел, так и для чисел с плавающей точкой: <:05d>и <:08.3f>.

Пример №4: форматирование чисел со знаками.

Вывод будет следующий:

Форматирование чисел с выравниванием

Операторы , ^ , > и = используются для выравнивания в том случае, если указана конкретная ширина.

Форматирование чисел с выравниванием

Тип Значение
Выравнивается по правому краю
= Сдвигает знаки (+ или -) к левой позиции

Пример №5: форматирование чисел с выравниванием по центру, левому и правому краю.

Вывод этой программы:

Выравнивание по левому краю с нулями для целых чисел может создать проблемы, как в случае с третьим примером, который возвращает 12000 вместо 12.

Форматирование строк с format()

Как и числа, строки можно форматировать с помощью format() .

Пример №6: форматирование строк с полями и выравниванием.

При запуске программы вывод будет следующим:

Пример №7: обрезание строк.

Вывод будет следующим:

Форматирование элементов классов и словарей с format()

Python использует getattr() для элементов класса в форме “.age”. А __getitem__() — для элементов словаря в форме “[index]”.

Пример №8: форматирование элементов класса с format().

Вывод этой программы:

Здесь объект Person передается как аргумент-ключевое слово p .

В шаблоне строки получают доступ к значениям name и age с помощью .name и .age .

Пример №9: форматирование элементов словаря с format().

По аналогии с классом словарь person передается в качестве аргумента-ключевого слова p .

В шаблоне строки доступ к name и age получают с помощью [name] и [age] .

Есть и более простой способ форматировать словари в Python с помощью str.fromat(**mapping) .

* — это параметр формата (минимальная ширина поля).

Аргументы как параметры в format()

Параметры, такие как точность, выравнивание или символы заполнения можно передавать в качестве позиционных аргументов-ключевых слов.

Пример №10: динамическое форматирование.

  • В первом пример “cat” — это позиционный аргумент, который будет отформатирован. Аналогично fill=’*’ , align=’^’ и width=5 являются аргументами-ключевыми словами.
  • В шаблоне строки эти аргументы извлекаются не как обычные строки для вывода, а как коды форматирования: fill , align и width .
    Эти аргументы заменяют соответствующие заполнители, а строка “cat” соответствующим образом форматируется.
  • Во втором примере 123.236 — это позиционный аргумент, а align , with и precision передаются в шаблон в качестве параметров форматирования.

Дополнительные параметры форматирования с format()

format() также поддерживает форматирования по типам, например, для datetime или форматирование сложных чисел. Он внутренне вызывает __format__() для datetime и получает доступ к атрибутам сложных чисел.

Можно запросто переопределить метод __format__() для любого объекта для создания собственного форматирования.

Пример №11: форматирование по типу с format() и переопределение метода _format().

  • Для datetime:
    Текущий объект datetime передается в качестве позиционного аргумента методу format() . С помощью метода __format__() format() получает доступ к году, месяцу, дню, часу, минутам и секундам.
  • Для сложны чисел:
    1+2j конвертируется в объект ComplexNumber.
    Затем через доступ к атрибутам real и imag числа форматируются.
  • Переопределение format():
    Как и с datetime можно перезаписать метод __format__() для собственного форматирования, которое вернет возраст при попытке получить доступ через <:age>.

Также можно использовать функциональность __str__() и __repr__() объекта с условными обозначениями и format() .

Как и __format__() можно запросто переопределять метода __str__() и __repr__() объекта.

Источник

Оцените статью