Для проведения вычислений с действительными числами язык Питон содержит много
дополнительных функций, собранных в библиотеку (модуль), которая называется math
.
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
import math |
Функция от одного аргумента вызывается, например, так: math.sqrt(x)
(то есть явно указывается, что из модуля math
используется функция sqrt
(квадратный корень)).
Вместо числа x
может быть любое число, переменная или выражение.
Функция возвращает значение, которое можно вывести на экран, присвоить
другой переменной или использовать в выражении:
y = math.sqrt( 4 ) print (math.sin(math.pi / 2 )) |
Другой способ использовать функции из библиотеки math
, при котором не нужно будет
при каждом использовании функции из модуля math
указывать название
этого модуля, выглядит так:
from math import sqrt, sin y = sqrt(x) print (sin(pi / 2 )) |
Если вместо списка конкретных функций, которые нужно импортировать, указать звёздочку, то будут загружены все функции. Однако так лучше никогда не делать, потому что функции, импортированные из модуля, могут затирать уже существующие.
>>> print ( pow ( 2 , 3 , 10 )) 8 >>> from math import * >>> print ( pow ( 2 , 3 , 10 )) Traceback (most recent call last): File "<stdin>" , line 1 , in <module> TypeError: pow expected 2 arguments, got 3 >>> < / module>< / stdin> |
math
ещё достаточно короткое, могло бы быть имя TelegramBotPython
, которое уж совсем громоздкое), то можно использовать следующий подход:
import math as mh y = mh.sqrt(x) print (mh.sin(mh.pi / 2 )) |
Ниже приведен список основных функций модуля math
. Более подробное описание
этих функций можно найти на сайте с документацией на Питон.
Некоторые из перечисленных функций (int
, round
, abs
)
являются стандартными и не требуют подключения модуля math
для использования.
Функция | Описание | Пример |
---|---|---|
Округление | ||
int(x) |
Округляет число в сторону нуля. Это стандартная функция, для ее использования не нужно подключать модуль math . |
int(17.9) == 17; |
round(x) |
Округляет число до ближайшего целого. Если дробная часть числа равна 0.5, то число округляется до ближайшего четного числа. | round(17.9) == 18; |
round(x, n) |
Округляет число x до n знаков после точки. Это стандартная функция, для ее использования не нужно подключать модуль math . |
round(17.9123, 1) == 17.9; |
floor(x) |
Округляет число вниз (“пол”), при этом floor(1.5) == 1 , floor(-1.5) == -2 |
floor(17.9) == 17; |
ceil(x) |
Округляет число вверх (“потолок”), при этом ceil(1.5) == 2 , ceil(-1.5) == -1 |
ceil(17.9) == 18; |
abs(x) |
Модуль (абсолютная величина). Это — стандартная функция. | abs(17.9) == abs(-17.9) == 17.9 |
fabs(x) |
Модуль (абсолютная величина). Эта функция всегда возвращает значение типа float . |
fabs(-17) == 17.0 |
Корни, степени, логарифмы | ||
sqrt(x) |
Квадратный корень. Использование: sqrt(x) |
sqrt(4) == 2; |
pow(a, b) |
Возведение в степень, возвращает ab. Использование: pow(a,b) . Одноимённая функция есть и среди стандартных, но работает она немного по-другому. В частности, у неё есть третий параметр, позволяющий вычислять степени по модулю числа. Например, последние три цифры степени без непосредственного её вычисления можно получить так: pow(179, 10000, 000) |
pow(3, 2) == 9.0; |
exp(x) |
Экспонента, возвращает ex. Использование: exp(x) |
exp(1) == 2.718281828459045; |
log(x) |
Натуральный логарифм. При вызове в виде log(x, b) возвращает логарифм по основанию b . |
exp(log(7)) == 6.999999999999999; |
log2(x) |
Двоичный логарифм. . | pow(2, log2(17)) == 16.999999999999996; |
log10(x) |
Десятичный логарифм. . | log10(100) == 2.0 |
e |
Основание натуральных логарифмов . |
|
Тригонометрия | ||
sin(x) |
Синус угла, задаваемого в радианах, . | sin(pi/2) == 1.0 |
cos(x) |
Косинус угла, задаваемого в радианах, . | cos(pi/4)**2 == 0.5 |
tan(x) |
Тангенс угла, задаваемого в радианах | tan(pi/4) == 1.0 |
asin(x) |
Арксинус, возвращает значение в радианах |
|
acos(x) |
Арккосинус, возвращает значение в радианах |
|
atan(x) |
Арктангенс, возвращает значение в радианах |
|
atan2(y, x) |
Полярный угол (в радианах) точки с координатами (x, y). | atan2(0,1) == 0.0; |
hypot(a, b) |
Длина гипотенузы прямоугольного треугольника с катетами a и b. | hypot(3, 4) == 5.0 |
degrees(x) |
Преобразует угол, заданный в радианах, в градусы. | degrees(pi/3) == 60 |
radians(x) |
Преобразует угол, заданный в градусах, в радианы. | radians(60) == pi/3 |
pi |
Константа π |
|
Разное | ||
factorial |
Вычисляет факториал целого числа | factorial(6) == 720 |
gcd |
Вычисляет НОД (наибольший общий делитель) двух чисел | gcd(10, 16) == 2 |
frexp |
Представляет действительное числов в виде x == m * 2**e , где либо m = e = 0 , либо 0.5<=|m|<1 (в виде мантиссы и экспоненты). |
frexp(0.1) == (0.8, -3) |
.as_integer_ratio |
Этот метод представляет действительное число в виде несократимой рациональной дроби со знаменателем — степенью двойки. | (0.1).as_integer_ratio() == |