Math — математические функции в Python
Что такое модуль?
В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных.
Функции представления чисел
ceil() и floor() — целая часть числа
Сeil() и floor() — функции общего назначения. Функция ceil округляет число до ближайшего целого в большую сторону. Функция floor убирает цифры десятичных знаков. Обе принимают десятичное число в качестве аргумента и возвращают целое число.
Пример:
Функция fabs() — абсолютное значение
Пример:
factorial() — функция факториала
Эта функция принимает положительное целое число и выводит его факториал.
Пример:
Примечание: при попытке использовать отрицательное число, возвращается ошибка значения ( Value Error ).
Пример:
Функция fmod() — остаток от деления
Пример:
Функция frexp()
Пример:
Функция fsum() — точная сумма float
Вычисляет точную сумму значений с плавающей точкой в итерируемом объекте и сумму списка или диапазона данных.
Пример:
Функции возведения в степень и логарифма
Функция exp()
Пример:
Функция expm1()
Пример:
Функция log() — логарифм числа
Функция log(x[,base]) находит логарифм числа x по основанию e (по умолчанию). base — параметр опциональный. Если нужно вычислить логарифм с определенным основанием, его нужно указать.
Пример:
Функция log1p()
Пример:
Функция log10()
Вычисляет логарифм по основанию 10.
Пример:
Функция pow() — степень числа
Пример:
Функция sqrt() — квадратный корень числа
Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.
Пример:
Тригонометрические функции
В Python есть следующие тригонометрические функции.
Функция | Значение |
---|---|
sin | принимает радиан и возвращает его синус |
cos | принимает радиан и возвращает его косинус |
tan | принимает радиан и возвращает его тангенс |
asin | принимает один параметр и возвращает арксинус (обратный синус) |
acos | принимает один параметр и возвращает арккосинус (обратный косинус) |
atan | принимает один параметр и возвращает арктангенс (обратный тангенс) |
sinh | принимает один параметр и возвращает гиперболический синус |
cosh | принимает один параметр и возвращает гиперболический косинус |
tanh | принимает один параметр и возвращает гиперболический тангенс |
asinh | принимает один параметр и возвращает обратный гиперболический синус |
acosh | принимает один параметр и возвращает обратный гиперболический косинус |
atanh | принимает один параметр и возвращает обратный гиперболический тангенс |
Пример:
Функция преобразования углов
Эти функции преобразуют угол. В математике углы можно записывать двумя способами: угол и радиан. Есть две функции в Python, которые конвертируют градусы в радиан и обратно.
Пример:
Математические константы
Модуль Math — математика в Python на примерах (Полный Обзор)
Библиотека Math в Python обеспечивает доступ к некоторым популярным математическим функциям и константам, которые можно использовать в коде для более сложных математических вычислений. Библиотека является встроенным модулем Python, поэтому никакой дополнительной установки через pip делать не нужно. В данной статье будут даны примеры часто используемых функций и констант библиотеки Math в Python.
Содержание статьи
Специальные константы библиотеки math
В библиотеке Math в Python есть две важные математические константы.
Число Пи из библиотеки math
Первой важной математической константой является число Пи (π). Оно обозначает отношение длины окружности к диаметру, его значение 3,141592653589793. Чтобы получить к нему доступ, сначала импортируем библиотеку math следующим образом:
Затем можно получить доступ к константе, вызывая pi :
Данную константу можно использовать для вычисления площади или длины окружности. Далее представлен пример простого кода, с помощью которого это можно сделать:
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
Число Эйлера из библиотеки math
Число Эйлера (е) является основанием натурального логарифма. Оно также является частью библиотеки Math в Python. Получить доступ к числу можно следующим образом:
В следующем примере представлено, как можно использовать вышеуказанную константу:
Экспонента и логарифм библиотеки math
В данном разделе рассмотрим функции библиотеки Math в Python, которые используются для нахождения экспоненты и логарифмов.
Функция экспоненты exp() в Python
Метод может быть использован со следующим синтаксисом:
Параметр x может быть положительным или отрицательным числом. Если x не число, метод возвращает ошибку. Рассмотрим пример использования данного метода:
Мы объявили три переменные и присвоили им значения с различными числовыми типами данных. Мы передали значения методу exp() для вычисления их экспоненты.
Мы также можем применить данный метод для встроенных констант, что продемонстрировано ниже:
При передаче не числового значения методу будет сгенерирована ошибка TypeError, как показано далее:
Функция логарифма log() в Python
Функция log10() в Python
Метод log10() возвращает логарифм по основанию 10 определенного числа. К примеру:
Функция log2() в Python
Функция log2() возвращает логарифм определенного числа по основанию 2. К примеру:
Функция log(x, y) в Python
Функция log1p(x) в Python
Функция log1p(x) рассчитывает логарифм(1+x), как представлено ниже:
Арифметические функции в Python
Арифметические функции используются для представления чисел в различных формах и осуществления над ними математических операций. Далее представлен перечень самых популярных арифметических функций:
В следующем примере показано использование перечисленных выше функций:
К числу других математических функций относятся:
Примеры данных методов представлены ниже:
Возведение в степень
Тригонометрические функции в Python
Модуль math в Python поддерживает все тригонометрические функции. Самые популярные представлены ниже:
Рассмотрим следующий пример:
Обратите внимание, что вначале мы конвертировали значение угла из градусов в радианы для осуществления дальнейших операций.
Конвертация типов числа в Python
Python может конвертировать начальный тип числа в другой указанный тип. Данный процесс называется «преобразованием». Python может внутренне конвертировать число одного типа в другой, когда в выражении присутствуют смешанные значения. Такой случай продемонстрирован в следующем примере:
В вышеприведенном примере целое число 3 было преобразовано в вещественное число 3.0 с плавающей точкой. Результатом сложения также является число с плавающей точкой (или запятой).
Однако иногда вам необходимо явно привести число из одного типа в другой, чтобы удовлетворить требования параметра функции или оператора. Это можно сделать с помощью различных встроенных функций Python.
Вещественное число было преобразовано в целое через удаление дробной части и сохранение базового числа. Обратите внимание, что при конвертации значения в int подобным образом число будет усекаться, а не округляться вверх.
Заключение
Библиотека Math предоставляет функции и константы, которые можно использовать для выполнения арифметических и тригонометрических операций в Python. Библиотека изначально встроена в Python, поэтому дополнительную установку перед использованием делать не требуется. Для получения дополнительной информации можете просмотреть официальную документацию.
Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.
E-mail: vasile.buldumac@ati.utm.md
Образование
Universitatea Tehnică a Moldovei (utm.md)
Модуль math предоставляет доступ к математическим функциям и константам. Несмотря на то что числа комплексного типа (complex) являются встроенными, данный модуль их не поддерживает и всегда вызывает исключение при их использовании. Для того что бы использовать математические функции с комплексными числами обратитесь к модулю cmath.
Теория чисел
Данная функция всегда возвращает число типа int и поддерживает длинную арифметику, т.е. величина обрабатываемого числа x и возвращаемого результата ограничивается только мощностью вашего компьютера.
Если x не является целым числом (int) или если x является отрицательным, то будет вызвано исключение ValueError.
Если оба числа отличны от нуля, то будет возвращено число, которое всегда делит оба эти числа:
В случае если числа a и b являются взаимно простыми, то будет возвращена \(1\):
Если одно из чисел равно нулю, то будет возвращено, другое, отличное от \(0\) число:
Если оба числа равны \(0\), то функция вернет \(0\):
Указанные числа должны быть целыми (тип int), но могут быть как положительными, так и отрицательными:
Доступно в Python с версии 3.5.
Чаще всего данная функция используется тогда, когда представление чисел типа float не должно зависеть от архитектуры используемой машины.
Данная функция в отличии от встроенной функции abs() не обрабатывает комплексные числа:
Может показаться, что эта сумма будет точной всегда, но на самом деле это не так:
Многое зависит от используемой платформы, точнее от сборки компилятора языка C, который используется на данной платформе. Если вам нужны точные арифметические операции с десятичными дробями, то воспользуйтесь модулем decimal.
Если используемой платформой поддерживаются нули со знаком, то знак второго аргумента так же будет копироваться:
Допустим у нас есть два числа и мы знаем, что по сути это одно и то же число, а все мизерные различия связаны с ошибками округления и двоичной арифметикой. Мы то понимаем что это как бы одно и то же число, а вот компьютер считает иначе:
Для таких ситуаций, в которых мы готовы считаться с некоторой погрешностью и подходит функция isclose() :
Параметр abs_tol (absolute tolerances) – это минимальный абсолютный допуск, который определяет как сравнивать значения близкие к нулю. Данный параметр должен быть не меньше нуля:
Округление чисел
Степени, логарифмирование, экспоненцирование
В ситуациях pow(x, 0.0) или pow(0.0, x) данная функция всегда возвращает \(1\) даже если x равен NaN, Inf или -Inf. Однако, если x и y являются конечными числами, причем x отрицательное, а y не целое, то будет вызвано исключение ValueError:
По сути, команда log(x, base) равносильна команде log(x)/log(base) :
Тригонометрические функции
Преобразование меры углов
Гиперболические функции
Константы и специальные значения
Доступно в Python начиная с версии 3.5.
Доступно в Python начиная с версии 3.5.
Специальные функции
Доступно в Python начиная с версии 3.2.
Доступно в Python начиная с версии 3.2.
Данная функция обобщает понятие факториала, на действительные числа (и на комплексные, но в данном случае используются только действительные числа). Если \(x = 0\) то это вызовет исключение ValueError.
Математическая библиотека math в Python
Математическая библиотека в Python предоставляет нам доступ к некоторым общим математическим функциям и константам, которые мы можем использовать в нашем коде для более сложных математических вычислений.
Библиотека является встроенным модулем Python, поэтому вам не нужно выполнять установку, чтобы использовать ее. В этой статье мы покажем пример использования наиболее часто используемых функций и констант математической библиотеки Python.
Специальные константы
Математическая библиотека в Python содержит две важные константы.
Первая – это Pie (π), очень популярная математическая константа. Он обозначает отношение длины окружности к диаметру круга и имеет значение 3,141592653589793. Чтобы получить к нему доступ, мы сначала импортируем математическую библиотеку следующим образом:
Затем мы можем получить доступ к этой константе с помощью pi:
Вы можете использовать эту константу для вычисления площади или длины окружности. Следующий пример демонстрирует это:
Число Эйлера
Число Эйлера (e), являющееся основанием натурального логарифма, также определено в библиотеке Math. Мы можем получить к нему доступ следующим образом:
В следующем примере показано, как использовать указанную выше константу:
Показатели и логарифмы
В этом разделе мы рассмотрим функции библиотеки Math, используемые для поиска различных типов показателей и логарифмов.
Функция exp()
Метод можно использовать со следующим синтаксисом:
Параметр x может быть положительным или отрицательным числом. Если x не является числом, метод вернет ошибку. Продемонстрируем использование этого метода на примере:
Мы объявили три переменные и присвоили им значения с разными числовыми типами данных. Затем мы передали их методу exp() для вычисления их показателей.
Мы также можем применить этот метод к встроенным константам, как показано ниже:
Если вы передадите методу нечисловое значение, он выдаст ошибку, как показано здесь:
Ошибка TypeError была сгенерирована, как показано в приведенных выше выходных данных.
Функция log()
Эта функция возвращает логарифм указанного числа. Натуральный логарифм вычисляется по основанию e. Следующий пример демонстрирует использование этой функции:
В приведенном выше скрипте мы передали методу числовые значения с разными типами данных. Мы также вычислили натуральный логарифм константы пи. Результат выглядит так:
Функция log10()
Этот метод возвращает десятичный логарифм указанного числа. Например:
Функция log2()
Эта функция вычисляет логарифм числа по основанию 2. Например:
Функция log (x, y)
Эта функция возвращает логарифм x, где y является основанием. Например:
Функция log1p (x)
Эта функция вычисляет логарифм (1 + x), как показано здесь:
Арифметические функции
Следующий пример демонстрирует использование вышеуказанных функций:
Эти методы можно использовать, как показано ниже:
Тригонометрические функции
Рассмотрим следующий пример:
Обратите внимание, что мы сначала преобразовали значение угла из градусов в радианы перед выполнением других операций.
Преобразование типов
Вы можете преобразовать число из одного типа в другой. Этот процесс известен, как «принуждение». Python может внутренне преобразовывать число из одного типа в другой, если выражение имеет значения смешанных типов. Следующий пример демонстрирует это:
В приведенном выше примере целое число 3 было приведено к значению 3,0 (число с плавающей запятой) для операции сложения, и результатом также является число с плавающей запятой.
Однако иногда вам необходимо явно привести число от одного типа к другому, чтобы удовлетворить требованиям параметра функции или оператора. Это можно сделать с помощью различных встроенных функций Python. Например, чтобы преобразовать целое число в число с плавающей запятой, мы должны вызвать функцию float(), как показано ниже:
Целое число преобразовано в число с плавающей запятой. Число с плавающей запятой можно преобразовать в целое число следующим образом:
Число с плавающей запятой было преобразовано в целое путем удаления дробной части и сохранения основного числа. Обратите внимание, что когда вы конвертируете значение в int таким образом, оно будет усечено, а не округлено.
Заключение
Математическая библиотека в Python предоставляет нам функции и константы, которые мы можем использовать для выполнения арифметических и тригонометрических операций.
Библиотека устанавливается на Python, поэтому вам не требуется выполнять дополнительную установку, чтобы использовать ее. Для получения дополнительной информации вы можете найти здесь официальную документацию.
Модуль Math в Python
P ython библиотека math содержит наиболее применяемые математические функции и константы. Все вычисления происходят на множестве вещественных чисел.
Синтаксис и подключение
Чтобы подключить модуль, необходимо в начале программы прописать следующую инструкцию:
Теперь с помощью точечной нотации можно обращаться к константам и вызывать функции этой библиотеки. Например, так:
Константы модуля Math
math.pi Представление математической константы π = 3.141592…. «Пи» — это отношение длины окружности к её диаметру.
math.tau Число τ — это отношение длины окружности к её радиусу. Т.е
math.inf Положительная бесконечность.
math.nan NaN означает — «не число».
Список функций
Теоретико-числовые функции и функции представления
math.ceil() Функция округляет аргумент до большего целого числа.
Решим задачу : На столе лежат шесть рубинов. Сколько существует способов выбрать два из них?
? Можете подставить числа в формулу, и самостоятельно проверить правильность решения.
math.copysign() Функция принимает два аргумента. Возвращает первый аргумент, но со знаком второго.
print(math.copysign(-6, 2)) > 6.0
math.fabs() Функция возвращает абсолютное значение аргумента:
math.factorial() Вычисление факториала. Входящее значение должно быть целочисленным и неотрицательным.
print(math.fmod(75, 4)) > 3.0
math.frexp(num) Возвращает кортеж из мантиссы и экспоненты аргумента. Формула:
, где M — мантисса, E — экспонента.
print(math.frexp(10)) > (0.625, 4) # проверим print(pow(2, 4) * 0.625) > 10.0
math.fsum() Вычисляет сумму элементов итерируемого объекта. Например, вот так она работает для списка:
summable_list = [1, 2, 3, 4, 5] print(math.fsum(summable_list)) > 15.0
a = 5 b = 15 print(math.gcd(a, b)) > 5
norm = 3 inf = float(‘inf’) print(math.isfinite(norm)) > True print(math.isfinite(inf)) > False
not_inf = 42 inf = math.inf print(math.isinf(not_inf)) > False print(math.isinf(inf)) > True
not_nan = 0 nan = math.nan print(math.isnan(not_nan)) > False print(math.isnan(nan)) > True
math.isqrt() Возвращает целочисленный квадратный корень аргумента, округлённый вниз.
math.ldexp(x, i) Функция возвращает значение по формуле:
возвращаемое значение = x * (2 ** i) print(math.ldexp(3, 2)) > 12.0
math.modf() Результат работы modf() — это кортеж из двух значений:
Задача : Посчитать количество вариантов распределения трёх билетов на концерт Стаса Михайлова для пяти фанатов.
print(math.perm(5, 3)) > 60
Целых 60 способов! Главное — не запутаться в них, и не пропустить концерт любимого исполнителя!
math.prod() Принимает итерируемый объект. Возвращает произведение элементов.
multiple_list = [2, 3, 4] print(math.prod(multiple_list)) > 24
math.remainder(m, n) Возвращает результат по формуле:
Результат = m – x * n,
где x — ближайшее целое к выражению m/n число.
math.trunc() trunc() вернёт вам целую часть переданного в неё аргумента.
Степенные и логарифмические функции
1 аргумент: вернёт значение натурального логарифма (основание e ):
2 аргумента: вернёт значение логарифма по основанию, заданному во втором аргументе:
print(math.log(16, 4)) > 2.0
math.log1p() Это натуральный логарифм от аргумента (1 + x) :
print(math.log(5) == math.log1p(4)) > True
math.pow(a, b) Функция выполняет возведение числа a в степень b и возвращает затем вещественный результат.
math.sqrt() Возврат квадратного корня из аргумента
Тригонометрические функции
math.acos() Функция возвращает арккосинус в радианах:
math.asin() Возврат арксинуса (угол в радианах):
# π/2 print(math.asin(1)) > 1.5707963267948966
# π/4 print(math.atan(1)) > 0.7853981633974483
math.cos() Косинус угла, который следует указывать в радианах:
print(math.hypot(3, 4)) > 5.0
math.sin() Функция вернёт синус угла. Угол следует задавать в радианах:
math.tan() Тангенс угла. Аргумент указываем в радианах.
Угловые преобразования
math.degrees() Функция переводит радианное значение угла в градусы.
math.radians() Наоборот: из градусов — в радианы.
# функция отрабатывает прямо, как по табличке синусов =) print(math.radians(30)) > 0.5235987755982988 print(math.pi / 6) > 0.5235987755982988
Гиперболические функции
Гиперболические функции являются аналогами тригонометрических и тесно с ними связаны. Но тригонометрические функции основаны на окружностях, а гиперболические, соответственно, на гиперболах.
Для Python все они принимают один аргумент — точку, в которой вычисляется значение функции.