Доброго времени суток, читатели, зрители моего канала 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.