Автор оригинала: Pankaj Kumar.
Эй, все! В этой статье мы рассмотрим один из интересных модулей – десятичный модуль Python .
Будь то любая область, мы сталкиваемся с необходимостью поиска функций для выполнения математических операций. Десятичный модуль Python предоставляет нам все необходимые математические функции.
Итак, давайте начнем!
Понимание десятичного модуля Python
Десятичный модуль Python содержит различные функции для обработки числовых данных и выполнения различных математических операций с ними. Используя модуль decimal, мы можем эффективно обрабатывать десятичные числа на протяжении всей нашей программы.
Десятичный модуль
предоставляет нам функции для контроля и преодоления проблемы точности десятичных значений.
Поняв необходимость десятичного модуля, давайте теперь рассмотрим некоторые важные функции, предлагаемые модулем.
Для того, чтобы использовать функции, нам нужно импортировать модуль, как показано ниже:
import decimal
Функции и реализация Десятичного модуля
Различные арифметические операции могут быть выполнены с десятичными или числовыми данными, чтобы повысить результат.
Мы можем определить числа с десятичной запятой, используя decimal.Функция Decimal ()
как показано ниже–
Синтаксис:
import decimal variable = decimal.Decimal(decimal-number)
Кроме того, мы можем управлять значением точности результатов чисел с десятичной запятой с помощью встроенной функции модуля decimal- decimal.getcontext().prec
функция.
Синтаксис:
decimal.getcontext().prec = precision value
Описанные ниже функции помогают нам эффективно и в быстром темпе выполнять арифметические операции с десятичной запятой.
1. Функция exp () – Вычисление экспоненты
Функция exp ()
вычисляет значение экспоненты, т. е. e^x конкретного числа с десятичной запятой, переданного ей.
Синтаксис:
decimal.Decimal(decimal-number).exp()
Пример:
import decimal as d d.getcontext().prec = 5 #Intializing with an addition operation val = d.Decimal(12.201) + d.Decimal(12.20) #Calculating exponential of the decimal value exp = val.exp() #variable with no calculations no_math = d.Decimal(1.131231) print("Sum: ",val) print("Exponential: ", exp) print(no_math)
Выход:
Decimal Number: 24.401 3.9557E+10 1.131231000000000097571728474576957523822784423828125
Обратите внимание, что общее количество цифр в нашем выводе равно 5? Это из-за значения точности, которое мы установили здесь.
Следует помнить, что значение точности применяется, когда вы выполняете математические операции с двумя десятичными дробями, а не когда вы непосредственно инициируете переменную со значениями, как показано выше с переменной “no_math”.
2. Функция sqrt () – Квадратный корень
Функция sqrt() вычисляет и возвращает значение квадратного корня переданного ей десятичного числа.
Синтаксис:
decimal.Decimal(decimal-number).sqrt()
Пример:
import decimal as d d.getcontext().prec = 3 val = d.Decimal(122.20) sqrt = val.sqrt() print("Decimal Number: ",val) print("Square root of the decimal number: ",sqrt)
Выход:
Decimal Number: 122.2000000000000028421709430404007434844970703125 Square root of the decimal number: 11.1
Опять же, обратите внимание, как объявленное значение содержит полное десятичное число, в то время как вычисленное значение следует нашему набору точности из 3 цифр.
Чтобы найти больше математических операций, прочитайте нашу статью о математическом модуле в Python
3. Логарифмические функции
Десятичный модуль предоставляет нам следующие функции для вычисления логарифмических значений чисел с десятичной запятой–
- десятичное число.ln()
- десятичное число.log10()
Функция decimal.ln ()
возвращает натуральное логарифмическое значение десятичного числа, как показано ниже–
decimal.Decimal(decimal-number).ln()
Функция decimal.log10() используется для вычисления логарифмического значения базы 10 переданного ей десятичного числа.
decimal.Decimal(decimal-number).log10()
Пример:
import decimal as d d.getcontext().prec = 2 val = d.Decimal(122.20) log = val.ln() print("Natural log value of the decimal number: ",log) log_10 = val.log10() print("Log value with base 10 of the decimal number: ",log_10)
Выход:
Natural log value of the decimal number: 4.8 Log value with base 10 of the decimal number: 2.1
4. Функция сравнения()
Функция decimal.compare ()
сравнивает два числа с десятичной запятой и возвращает значения в зависимости от условий следующим образом–
- Он возвращает -1, если первое десятичное число меньше второго десятичного числа.
- Он возвращает 1, если первое десятичное число больше второго десятичного числа.
- Возвращает 0, если оба значения десятичной запятой равны.
Пример:
import decimal as d valx = d.Decimal(122.20) valy = d.Decimal(123.01) print("Value 1: ",valx) print("Value 2: ",valy) compare = valx.compare(valy) print(compare)
Выход:
Value 1: 122.2000000000000028421709430404007434844970703125 Value 2: 123.0100000000000051159076974727213382720947265625 -1
5. Функция copy_abs()
Функция decimal.copy_abs ()
возвращает абсолютные значения переданного ей десятичного числа со знаком.
Синтаксис:
decimal.Decimal(signed decimal number).copy_abs()
Пример:
import decimal as d valx = d.Decimal(-122.20) print("Value 1: ",valx) absolute = valx.copy_abs() print("Absolute value of the given decimal number: ",absolute)
Выход:
Value 1: -122.2000000000000028421709430404007434844970703125 Absolute value of the given decimal number: 122.2000000000000028421709430404007434844970703125
6. Максимальные и минимальные функции
Модуль Python decimal содержит следующие функции для вычисления минимальных и максимальных значений чисел с десятичной запятой.
- функция min (): Возвращает минимальное из двух десятичных значений.
- функция max (): Возвращает максимальное из двух десятичных значений.
#Syntax for min() function- decimal1.min(decimal2) #Syntax for max() function- decimal1.max(decimal2)
Пример:
import decimal as d valx = d.Decimal(122.20) valy = d.Decimal(123.01) print("Value 1: ",valx) print("Value 2: ",valy) min_val = valx.min(valy) print("The minimum of the two values: ",min_val) max_val = valx.max(valy) print("The maximum of the two values: ",max_val)
Выход:
Value 1: 122.2000000000000028421709430404007434844970703125 Value 2: 123.0100000000000051159076974727213382720947265625 The minimum of the two values: 122.2000000000000028421709430 The maximum of the two values: 123.0100000000000051159076975
7. Логические операции с десятичным модулем
Модуль Decimal содержит набор встроенных функций для выполнения логических операций с десятичными числами, такими как AND, OR, XOR и т. Д.
- функция logical_and (): Выполняет логическую операцию И над двумя десятичными числами и возвращает результат.
- функция logical_or (): Выполняет логическую операцию ИЛИ над двумя десятичными числами и возвращает результат.
- функция logical_xor (): Выполняет логическую операцию XOR над двумя десятичными числами и возвращает результат.
#Syntax for logical_and() function- decimal1.logical_and(decimal2) #Syntax for logical_or() function- decimal1.logical_or(decimal2) #Syntax for logical_xor() function- decimal1.logical_xor(decimal2)
Пример:
import decimal as d valx = d.Decimal(1001) valy = d.Decimal(1111) print("Value 1: ",valx) print("Value 2: ",valy) AND = valx.logical_and(valy) print("The logical AND value of the two decimals: ",AND) OR = valx.logical_or(valy) print("The logical OR value of the two decimals: ",OR) XOR = valx.logical_xor(valy) print("The logical XOR value of the two decimals: ",XOR)
Выход:
Value 1: 1001 Value 2: 1111 The logical AND value of the two decimals: 1001 The logical OR value of the two decimals: 1111 The logical XOR value of the two decimals: 110
Вывод
На этом мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы.
А до тех пор Счастливого Обучения!!