Содержание

Функции и методы модуля math в python ~ PythonRu

Эта статья посвящена математическим функциям в Python. Для выполнения математических операций необходим модуль math.

Что такое модуль?

В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных.

Есть три типа модулей в Python:

  1. Модули, написанные на Python (.py).
  2. Модули, написанные на C и загружаемые динамически (.dll, .pyd, .so, .sl и так далее).
  3. Модули, написанные на C, но связанные с интерпретатором.
    import sys
    print(sys.builtin_module_names)
    
    ('_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', 
    '_codecs_jp', '_codecs_kr', '_codecs_tw', '_collections', '_csv', '_datetime', 
    '_functools', '_heapq', '_imp', '_io', '_json', '_locale', '_lsprof', '_md5', 
    '_multibytecodec', '_opcode', '_operator', '_pickle', '_random', '_sha1', 
    '_sha256', '_sha512', '_sre', '_stat', '_string', '_struct', '_symtable', '_thread', 
    '_tracemalloc', '_warnings', '_weakref', '_winapi', 'array', 'atexit', 'audioop', 
    'binascii', 'builtins', 'cmath', 'errno', 'faulthandler', 'gc', 'itertools', 'marshal', 
    'math', 'mmap', 'msvcrt', 'nt', 'parser', 'signal', 'sys', 'time', 'winreg', 
    'xxsubtype', 'zipimport', 'zlib').

Для получения списка модулей, написанных на C, но связанных с Python, можно использовать следующий код.

Как видно из списка выше, модуль math написан на

C, но связан с интерпретатором. Он содержит математические функции и переменные, о которых дальше и пойдет речь.

Функции представления чисел

ceil() и floor() — целая часть числа

Сeil() и floor() — функции общего назначения. Функция ceil округляет число до ближайшего целого в большую сторону. Функция floor убирает цифры десятичных знаков. Обе принимают десятичное число в качестве аргумента и возвращают целое число.

Пример:

# Импорт модуля math
import math
# Дробный номер
number=8.10
# выводим целую часть числа с округлением к большему
print("Верхний предел 8.10 это:",math.ceil(number))
# выводим целую часть числа с округлением к меньшему
print("Нижний предел 8.10 это:",math.
floor(number))

Вывод:

Верхний предел 8.10 это: 9
Нижний предел 8.10 это: 8

Функция fabs() — абсолютное значение

Функция fabs используется для вычисления абсолютного значения числа. Если число содержит любой отрицательный знак (-), то функция убирает его и возвращает положительное дробное число.

Пример:

# Импорт модуля math
import math
number = -8.10
# вывод абсолютного значения числа
print(math.fabs(number))

Вывод:

8.1

factorial() — функция факториала

Эта функция принимает положительное целое число и выводит его факториал.

Пример:

# Импорт модуля math 
import math    
number = 5
# вывод факториала числа
print("факториала числа", math.factorial(number))

Вывод:

факториала числа 120

Примечание: при попытке использовать отрицательное число, возвращается ошибка значения (Value Error).

Пример:

# Импорт модуля math 
import math    
number = -5
# вывод факториала числа
print("факториала числа", math.factorial(number))

Вывод:

ValueError: factorial() not defined for negative values

Функция fmod() — остаток от деления

Функция fmod(x,y) возвращает x % y. Разница в том, что выражение x % y работает только с целыми числами, а эту функцию можно использовать и для чисел с плавающей точкой.

Пример:

# Импорт модуля math  
import math  
print(math.fmod(5,2))  
print(math.fmod(-5,2))  
print(math.fmod(-5.2,2))  
print(math.fmod(5.2,2))  

Вывод:

1.0
-1.0
-1.2000000000000002
1.2000000000000002

Функция frexp()

Эта функция возвращает мантиссу и показатель степени в виде пары (m,n) любого числа x, решая следующее уравнение.

Пример:

# Импорт модуля math  
import math  
print(math.
x.

Пример:

# Импорт модуля math  
import math   
    
print("e в степени 5 ", math.exp(5))
print("e в степени 2.5", math.exp(2.5))  

Вывод:


e в степени 5  148.4131591025766
e в степени 2.5 12.182493960703473

Функция expm1()

Эта функция работает так же, как и exp, но возвращает exp(x)-1. Здесь, expm1 значит exm-m-1, то есть, exp-minus-1.

Пример:

# Импорт модуля math  
import math   
    
print(math.exp(5)-1)
print(math.expm1(5))

Вывод:

147.4131591025766
147.4131591025766

Функция log() — логарифм числа

Функция log(x[,base]) находит логарифм числа x по основанию e (по умолчанию). base— параметр опциональный. Если нужно вычислить логарифм с определенным основанием, его нужно указать.

Пример:

# Импорт модуля math  
import math  
	  
# логарифм с основанием e
print(math. log(2))  
	  
# логарифм с указанным основанием (2)
print(math.log(64,2)) 

Вывод:

0.6931471805599453
6.0

Функция log1p()

Эта функция похожа на функцию логарифма, но добавляет

1 к x. log1p значит log-1-p, то есть, log-1-plus.

Пример:

# Импорт модуля math  
import math  
	  
print(math.log1p(2))

Вывод:

1.0986122886681098

Функция log10()

Вычисляет логарифм по основанию 10.

Пример:

# Импорт модуля math  
import math  
print(math.log10(1000))

Вывод:

3.0

Функция pow() — степень числа

Используется для нахождение степени числа. Синтаксис функции pow(Base, Power). Она принимает два аргумента: основание и степень.

Пример:

# Импорт модуля math  
import math  
print(math.pow(5,4))

Вывод:

625.0

Функция sqrt() — квадратный корень числа

Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.

Пример:


# Импорт модуля math  
import math  
print(math.sqrt(256))

Вывод:

16.0

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

В Python есть следующие тригонометрические функции.

ФункцияЗначение
sinпринимает радиан и возвращает его синус
cosпринимает радиан и возвращает его косинус
tanпринимает радиан и возвращает его тангенс
asinпринимает один параметр и возвращает арксинус (обратный синус)
acosпринимает один параметр и возвращает арккосинус (обратный косинус)
atanпринимает один параметр и возвращает арктангенс (обратный тангенс)
sinhпринимает один параметр и возвращает гиперболический синус
coshпринимает один параметр и возвращает гиперболический косинус
tanh
принимает один параметр и возвращает гиперболический тангенс
asinhпринимает один параметр и возвращает обратный гиперболический синус
acoshпринимает один параметр и возвращает обратный гиперболический косинус
atanhпринимает один параметр и возвращает обратный гиперболический тангенс

Пример:

# Импорт модуля math  
import math  
  
# функция синусы  
print("синус PI/2 :", math. sin(math.pi/2))  
# функция косинуса  
print("косинус 0 :", math.cos(0))  
# функция тангенса  
print("тангенс PI/4 :", math.tan(math.pi/4))  
  
print()  
  
# функция арксинуса
print("арксинус 0 :", math.acos(0))  
# функция арккосинуса
print("арккосинус 1 :", math.acos(1))  
# функция арктангенса 
print("арктангенс 0.5 :", math.atan(0.5))  
  
print()  
  
# функция гиперболического синуса
print("гиперболический синус 1 :", math.sinh(1))  
# функция гиперболического косинуса
print("гиперболический косинус 0 :", math.cos(0))  
# функция гиперболического тангенса
print("гиперболический тангенс 1 :", math.tan(1))  
  
print()  
  
# функция обратного гиперболического синуса  
print("обратный гиперболический синус 1 :", math.acosh(1))  
# функция обратного гиперболического косинуса
print("обратный гиперболический косинус 1 :", math.acosh(1))  
# функция обратного гиперболического тангенса 
print("обратный гиперболический тангенс 0.5 :", math.atanh(0.5))  

Вывод:

синус PI/2 : 1. 0
косинус 0 : 1.0
тангенс PI/4 : 0.9999999999999999
арксинус 0 : 1.5707963267948966
арккосинус 1 : 0.0
арктангенс 0.5 : 0.4636476090008061
гиперболический синус 1 : 1.1752011936438014
гиперболический косинус 0 : 1.0
гиперболический тангенс 1 : 1.5574077246549023
обратный гиперболический синус 1 : 0.0
обратный гиперболический косинус 1 : 0.0
обратный гиперболический тангенс 0.5 : 0.5493061443340549

Функция преобразования углов

Эти функции преобразуют угол. В математике углы можно записывать двумя способами: угол и радиан. Есть две функции в Python, которые конвертируют градусы в радиан и обратно.

  • degrees(): конвертирует радиан в градусы;
  • radians(): конвертирует градус в радианы;

Пример:

# Импорт модуля math  
import math  
print(math.degrees(1.57))
print(math.radians(90))

Вывод:

89.95437383553924
1.5707963267948966

Математические константы

В Python есть две математические константы: pi и e.

  1. pi: это математическая константа со значением 3.1416..
  2. e: это математическая константа со значением 2.7183..

Пример:

# Импорт модуля math  
import math  
# вывод значения PI
print("значение PI", math.pi)
# вывод значения e
print("значение e", math.e)

Вывод:

значение PI 3.141592653589793
значение e 2.718281828459045

Математические функции и модуль math в Python

Разберемся с простейшими арифметическими операциям над числами, далее рассмотрим стандартные математические функции Python и в конце статьи ознакомимся с математическим модулем Math, который сильно расширяет возможности работы с числами.

Числа и операции над ними в Python

Рассмотрим 7 основных математических операторов:

  1. Сложение.
  2. Вычитание.
  3. Умножение.
  4. Деление.
  5. Целочисленное деление.
  6. Остаток от деления.
  7. Возведение в степень.

Сложение (+)

Складываем два и более чисел:

print(2 + 2)
#4

Сложение помощью переменных:

a = 2
b = 2
c = a + b
print(c)
#4

Вычитание (-)

Вычитаем одно число из другого:

print(4 - 2)
#2

Вычитание с помощью переменных:

a = 4
b = 2
c = a - b
print(c)
#2

Умножение (*)

Умножаем два и более чисел:

print(4 * 2)
#8

Умножение с помощью переменных:

a = 4
b = 2
c = a * b
print(c)
#8

Деление (/)

Деление чисел происходит с помощью знака /:

print(4 / 2)
#2. 0

Деление с помощью переменных:

a = 4
b = 2
c = a / b
print(c)
#2.0

При делении всегда возвращается тип данных float:

print(type(4 / 2))
#<class 'float'>

На 0 делить нельзя, получим ошибку:

print(4 / 0)
#ZeroDivisionError: division by zero

Целочисленное деление (//)

При целочисленном делении Python отбрасывает остаток (дробную часть) и оставляет только целую часть:

print(13 // 2)
#6
print(13 / 2)
#6.5
print(20 // 7)
#2
print(20 / 7)
#2.857142857142857

Тоже самое с помощью переменных:

a = 15
b = 2
c = a // b
print(c)
#7

Остаток от деления (%)

Остаток от деления — это оставшаяся после целочисленного деления часть числа. Так же это называют делением по модулю.

Например, число 5 входит в число 14 два раза и остается остаток 4.

print(14 % 5)
#4

Этой операцией очень часто пользуются, к примеру, для определения четности числа:

my_list = [1, 2, 3, 4, 5, 6]
for value in my_list:
if value % 2 == 0:
print(value)
#2
#4
#6

Мы берем каждое число из списка и если остаток от деления на 2 равен 0, значит это четное число.

Возведение в степень (**)

Этот оператор возводит одно число в степень другого.

2 в 10 степени будет:

print(2 ** 10)
#1024

С помощью переменных это выглядит так:

a = 2
n = 10
print(a ** n)
#1024

Приоритет математических операций

  • Возведение в степень.
  • Умножение, деление, целочисленное деление и остаток от деления.
  • Сложение и вычитание.

Встроенные функции Python для работы с числами

У Python широкий набор функции со своими уникальными возможностями, рассмотрим функции, которые используются наиболее часто.

Минимум и максимум: min() max()

Функция min() возвращают минимум из полученных аргументов.
Функция max() возвращают максимум из полученных аргументов.

print(min(1, 2, 3))
print(max(1, 2, 3))
#1
#3

Абсолютное значение: abs()

Функция abs() возвращает абсолютное значение полученного аргумента:

print(abs(10))
print(abs(-10))
#10
#10

Округление десятичного числа: round()

Функция round() округляет число до N знаков после запятой:

round(a, n)

a — округляемое число.
n — количество знаков, до которого нужно округлить (если не указать, то будет округлено до целого числа).

print(round(10.893842))
print(round(10.893842, 2))
#11
#10.89

Возведение в степень: pow()

Функция pow() возводит число в степень, она делает тоже самое, что и оператор **.

В функцию нужно передать два аргумента — число, которое нужно возвести в степень и второе — сама степень.

print(pow(2, 10))
#1024

Модуль math в Python

Если для ваших нужд окажется мало встроенных функций, то на помощь придет библиотека math. С этой библиотекой можно выполнить практически любую математическую операцию.

Разберем самые основные.

Для того, чтобы работать с модулем Math, его необходимо подключить, для этого прописываем команду:

import math

Теперь можно вызывать функции этого модуля.

Округление до большего целого числа: math.ceil()

print(math.ceil(10.034))
#11

Округление до меньшего целого числа: math.floor()

print(math.floor(10.034))
#10

Абсолютное значение или модуль числа: math.fabs()

print(math.fabs(-10.034))
#10.034

Факториал числа: math.factorial()

print(math.factorial(10))
#3628800

Остаток от деления: math.fmod(x, y)

Возвращает остаток от деления числа x на y:

print(math.fmod(14, 5))
#4. 0

Сумма элементов последовательности: math.fsum()

print(math.fsum([1, 2, 3]))
#6.0

Возврат дробной и целой части числа: math.modf()

В результате получим кортеж, из целой и дробной части числа:

print(math.modf(10.14))
#(0.14000000000000057, 10.0)

Целая часть числа: math.trunc()

print(math.trunc(10.14))
#10

Логарифм: math.log(x, [base])

Функция вычисляет логарифм x по основанию base. Если необязятельный аргумент base не указан, вычисляется натуральный логарифм:

print(math. log(5))
#1.6094379124341003

В какую степень нужно возвести 4, чтобы в итоге получить 16:

print(math.log(16, 4))
#2.0

Квадратный корень: math.sqrt()

print(math.sqrt(4))
#2.0

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

math.sin(X) — синус X.
math.cos(X) — косинус X.
math.tan(X) — тангенс X.
math.acos(X) — арккосинус.
math.asin(X) — арксинус X.
math.atan(X) — арктангенс X.

Эти функции принимают в качестве аргумента значение в радианах.

math.degrees(X) — конвертирует радианы в градусы.
math.radians(X) — конвертирует градусы в радианы.

Константы

Математическая константа π: math.pi

print(math.pi)
#3.141592653589793

Математическая константа e: math.e

print(math.e)
#2.718281828459045

Математический модуль Python

❮ Предыдущий Далее ❯


Математический модуль Python

Python имеет встроенный модуль, который можно использовать для математических задач.

Модуль math имеет набор методов и констант.


Математические методы

.. по основанию 10.
Метод Описание
math.acos() Возвращает арккосинус числа
math.acosh() Возвращает аркгиперболический косинус числа
math. asin() Возвращает арксинус числа
math.asinh() Возвращает аркгиперболический синус числа
мат.атан() Возвращает арктангенс числа в радианах
math.atan2() Возвращает арктангенс y/x в радианах
math.atanh() Возвращает аркгиперболический тангенс числа
math.ceil() Округляет число до ближайшего целого числа
math.comb() Возвращает количество способов выбрать k элементов из n элементов без повторения и порядка
math.copysign() Возвращает число с плавающей запятой, состоящее из значения первого параметра и знака второго параметра
math.cos() Возвращает косинус числа
math.cosh() Возвращает гиперболический косинус числа
математические степени() Преобразует угол из радианов в градусы
мат. расст() Возвращает евклидово расстояние между двумя точками (p и q), где p и q координаты этой точки
math.erf() Возвращает функцию ошибки числа
math.erfc() Возвращает дополнительную функцию ошибки числа
мат.выражение() Возвращает E, возведенное в степень x
мат.выр1() Возвращает E x - 1
math.fabs() Возвращает абсолютное значение числа
мат.факториал() Возвращает факториал числа
мат.пол() Округляет число в меньшую сторону до ближайшего целого числа
math.fmod() Возвращает остаток x/y
math.frexp() Возвращает мантиссу и показатель степени указанного числа
math.fsum() Возвращает сумму всех элементов в любой итерации (кортежи, массивы, списки и т. д.)
мат.гамма() Возвращает гамма-функцию при x
math.gcd() Возвращает наибольший общий делитель двух целых чисел
math.hypot() Возвращает евклидову норму
math.isclose() Проверяет, близки ли два значения друг к другу или нет
math.isfinite() Проверяет, является ли число конечным или нет
math.isinf() Проверяет, является ли число бесконечным или нет
мат.иснан () Проверяет, является ли значение NaN (не числом) или нет
math.isqrt() Округляет квадратный корень в меньшую сторону до ближайшего целого числа
math.ldexp() Возвращает обратную функцию math.frexp(). что равно x * (2**i) заданных чисел x и i
мат.лгамма() Возвращает значение логарифмической гаммы x
math. log() Возвращает натуральный логарифм числа или логарифм числа по основанию
math.log10() Возвращает логарифм x
math.log1p() Возвращает натуральный логарифм 1+x
math.log2() Возвращает логарифм по основанию 2 x
мат.перм.() Возвращает количество способов выбрать k элементов из n элементов в порядке и без повторения
math.pow() Возвращает значение x в степени y
math.prod() Возвращает произведение всех элементов в итерируемом
мат. радианы() Преобразует значение градуса в радианы
math.remainder() Возвращает ближайшее значение, при котором числитель полностью делится на знаменатель
math.sin() Возвращает синус числа
math. sinh() Возвращает гиперболический синус числа
math.sqrt() Возвращает квадратный корень числа
мат.загар() Возвращает тангенс числа
мат.танх() Возвращает гиперболический тангенс числа
math.trunc() Возвращает усеченные целые части числа

Математические константы

Константа Описание
математика Возвращает число Эйлера (2,7182...)
мат.инф Возвращает положительную бесконечность с плавающей запятой
мат.нан Возвращает значение NaN (не число) с плавающей запятой
мат.пи Возвращает PI (3.1415...)
мат.тау Возвращает тау (6,2831...)

❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебник HTML
Учебник CSS
Учебник JavaScript
Учебник How To
Учебник SQL
Учебник по Python
Учебник по W3. CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

Лучшие ссылки
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Top96 ExamplesПримеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


FORUM | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Python Math

❮ Назад Далее ❯


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


Встроенные математические функции

Функции min() и max() можно использовать для поиска наименьшего или наибольшего значения в итерируемом объекте:

Пример

x = min(5, 10, 25)
y = max(5, 10, 25)

print(x)
print(y)

Попробуйте сами »

Функция abs() возвращает абсолютное значение (положительное) значение указанного числа:

Пример

x = abs(-7. 25)

print(x)

Попробуйте сами

).

Пример

Вернуть значение 4 в степени 3 (то же, что 4 * 4 * 4):

x = pow(4, 3)

print(x)

Попробуйте сами »



Математический модуль

Python также имеет встроенный модуль math , который расширяет список математических функций.

Чтобы использовать его, вы должны импортировать модуль math :

import math

После импорта модуля math вы можно начать использовать методы и константы модуля.

Например, метод math.sqrt() возвращает квадратный корень числа:

Пример

Импортировать math

x = math.sqrt(64)

print(x)

Попробуйте сами »

Метод math.ceil() округляет число в большую сторону до его ближайшее целое число и math. floor() метод округляет число в меньшую сторону до ближайшего целого числа и возвращает результат:

Пример

Импортировать математика

x = math.ceil(1.4)
y = math.floor(1.4)

print(x) # возвращает 2
print(y) # возвращает 1

Попробуйте сами »

Константа math.pi , возвращает значение PI (3.14...):

Пример

Импортировать math

x = math.pi

print(x)

Попробуйте сами »


Полный справочник математических модулей

В нашем справочнике по математическим модулям вы найдете найти полный справочник всех методов и констант, принадлежащих модулю Math.


❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебник по HTML
Учебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3.