|
||||||||||||||||||||||||||
Math — математические функции в Python
Время создания: 07.02.2021 19:19
Автор: alensav
Текстовые метки: Math — математические функции в Python
Раздел: PYTHON
Запись: alensav/MyTetra2/main/base/1612714750be2n49ldwx/text.html на raw.githubusercontent.com
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Math — математические функции в Python 23.02.2020 Эта статья посвящена математическим функциям в Python . Для выполнения математических операций необходим модуль math. В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных . Есть три типа модулей в Python :
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 Эта функция возвращает мантиссу и показатель степени в виде пары (m,n) любого числа x, решая следующее уравнение. Пример: # Импорт модуля math import math print(math.frexp(24.8)) Вывод: (0.775, 5) Функция fsum() — точная сумма float Вычисляет точную сумму значений с плавающей точкой в итерируемом объекте и сумму списка или диапазона данных. Пример: # Импорт модуля math import math
# сумма списка numbers=[.1,.2,.3,.4,.5,.6,.7,.8,8.9] print("сумма ", numbers, ":", math.fsum(numbers))
# сумма диапазона print("сумма чисел от 1 до 10:", math.fsum(range(1,11))) Вывод: сумма [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 8.9] : 12.5 сумма чисел от 1 до 10: 55.0 Функции возведения в степень и логарифма Эта функция принимает один параметр в виде дробного числа и возвращает e^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 Эта функция работает так же, как и 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 Эта функция похожа на функцию логарифма, но добавляет 1 к x. log1p значит log-1-p, то есть, log-1-plus. Пример: # Импорт модуля math import math
print(math.log1p(2)) Вывод: 1.0986122886681098 Вычисляет логарифм по основанию 10. Пример: # Импорт модуля math import math print(math.log10(1000)) Вывод: 3.0 Используется для нахождение степени числа. Синтаксис функции pow(Base, Power). Она принимает два аргумента: основание и степень. Пример: # Импорт модуля math import math print(math.pow(5,4)) Вывод: 625.0 Функция sqrt() — квадратный корень числа Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень. Пример: # Импорт модуля math import math print(math.sqrt(256)) Вывод: 16.0 В Python есть следующие тригонометрические функции.
Пример: # Импорт модуля 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 , которые конвертируют градусы в радиан и обратно.
Пример: # Импорт модуля math import math print(math.degrees(1.57)) print(math.radians(90)) Вывод: 89.95437383553924 1.5707963267948966 В Python есть две математические константы: pi и e.
Пример: # Импорт модуля math import math # вывод значения PI print("значение PI", math.pi) # вывод значения e print("значение e", math.e) Вывод: значение PI 3.141592653589793 значение e 2.718281828459045 Появились вопросы? Задайте на Яндекс Кью У блога есть сообщество на Кью >> Python Q <<. Там я и другие участники отвечаем на вопросы по python, программированию и контенту сайта. Обучение Python и Data Science
Профессия Data Scientist 9 187 4 593 ₽/мес. |
||||||||||||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|