Рубрики
Без рубрики

Десятичный модуль Python – 7 функций, которые вам нужно знать!

Эй, все! В этой статье мы рассмотрим один из интересных модулей – десятичный модуль Python.

Автор оригинала: 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

Вывод

На этом мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы.

А до тех пор Счастливого Обучения!!

Рекомендации