Найти в Дзене
programmer's notes (python and more)

Стандартные библиотеки в Python. Библиотека math. Приложение 2 к видео 8

Оглавление

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Приложение 2 к видеоуроку (Приложение 1)

Обзор библиотеки math Python

Библиотеке math стоит того, чтобы дать полное её описание. Перед вами, т.о. справочник по библиотеке. Да, ещё один. Ну и что?

Библиотека серьезная, придётся разбивать её на разделы. Надо иметь в виду, что большинство функций и констант библиотеки вещественные числа и имеют точность, зависящую от платформы.

Константы и специальные функции

  • math.e — число e=2.7182...;
  • math.pi — число π=3.1415...;
  • math.inf — положительная бесконечность, имеющая тип float, допустимо -math.inf;
  • math.nan — обозначает "не число";
  • math.isinf(x) — возвращает True, если если переменная является положительной или отрицательной бесконечностью и False в противном случае;
  • math.isnan(x) — возвращает True, если переменная имеет тип math.nan и False в противном случае;
  • math.isfinite(x) — возвращает True, если переменная является положительной или отрицательной бесконечностью или math.nan, в противном случае возвращает False.

Округление чисел

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

  • math.trunc(x) — отбрасывает дробную часть числа. Возвращает целое число;
  • math.floor(x) — возвращает округлённое до целого число в меньшею сторону;
  • math.ceil(x) возвращает округлённое до целого число в большую сторону.

Работа с числами

  • math.factorial(x) — функция возвращает факториал числа;
  • math.gcd(*k) — функция возвращает наибольший общий делитель (НОД) указанных параметров целого типа с учётом знака; см. также мою статью здесь;
  • math.frexp(x) — возвращается кортеж из двух чисел (a, b) таких, что x = a * (2 ** b). a — вещественное число, b — целое число. Например, print(math.frexp(2.21)) даёт кортеж (0.5525, 2);
  • math.ldexp(a, b) функция возвращает значение a * (2 ** b), a - вещественное число, b - целое число;
  • math.fabs(x) — возвращает абсолютное значение числа, всегда вещественное;
  • math.fmod(x, y) возвращает остаток от деления числа x на число y. x, y — вещественные числа;
  • math.fsum(iterable) — сумма элементов итерируемого объекта. Результат имеет тип float;
  • math.copysign(x, y) — возвращает число с абсолютным значением x, но знаком числа y;
  • math.isclose(a, b, *, r=1e-09, t=0.0) — функция возвращает значение True, если a и b близки друг другу согласно указанным далее параметрам. r — относительный допуск, t — абсолютный допуск. Можно записать такую формулу, эквивалентную результату работы данной функции
    abs(a - b) <= max(r * max(abs(a), abs(b)), t)
    * - означает, что функция может работать с большим количеством чисел;
  • math.lcm(*integers) — функция возвращает наименьшее общее кратное указанных целочисленных параметров;
  • math.nextafter(x, y) — выдаёт следующее в сторону y от x вещественное число, используя минимальный шаг.

import math
print(math.factorial(8))
print(math.gcd(100, 600, 4000))
print(math.lcm(100, 600, 4000))

Результат выполнения фрагмента

40320
100
12000

Степень и логарифмы

  • math.pow(x, y) — функция возвращает x в степени y;
  • math.sqrt(x) — функция возвращает квадратный корень из числа x;
  • math.cbrt(x) — функция возвращает кубический корень из числа x;
  • math.log(x[, b]) — функция возвращает логарифм числа x по указанному основанию b. Если основание не указано, то возвращается натуральный логарифм;
  • math.log10(x) — функция, которая вычисляет десятичный логарифм более точно;
  • math.log2(x) — более точное вычисление двоичного логарифма;
  • math.log1p(x) — функция возвращает натуральный логарифм от x + 1;
  • math.exp(x) — функция возвращает e в степени x;
  • math.exp2(x) — функция возвращает 2 в степени x;
  • math.expm1(x) — функция возвращает (e ** x) - 1.

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

  • math.degrees(x) — функция преобразования радианов в градусы;
  • math.radians(x) — функция преобразования градусов в радианы.

Тригонометрические функции

  • math.sin(x) — функция возвращает синус x;
  • math.cos(x) — функция возвращает косинус x;
  • math.tan(x) — функция возвращает тангенс x;
  • math.asin(x) — функция возвращает арксинус x;
  • math.acos(x) — функция возвращает арккосинус x;
  • math.atan(x) — функция возвращает арктангенс x;
  • math.atan2(y, x) — функция возвращает арктангенс y / x;
  • math.hypot(*coordinates) — функция возвращает длину вектора, начало которого в начале координат, а конец в указанной точке.

Гиперболические функции

  • math.sinh(x) — функция возвращает гиперболический синус x;
  • math.cosh(x) — функция возвращает гиперболический косинус x;
  • math.tanh(x) — функция возвращает гиперболический тангенс x;
  • math.asinh(x) — функция возвращает гиперболический арксинус x;
  • math.acosh(x) — функция возвращает гиперболический арккосинус x;
  • math.atanh(x) — функция возвращает гиперболический арктангенс x.

Ну вот пока всё. Сегодня приложение без программ.

Когда дойдём до графики, а мы дойдём до неё, эти функции позволят строить нам разные графики.

Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.

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