- 9.11. Python – Метод math.modf() – отделить дробную часть от целой
- Синтаксис
- Параметры
- Возвращаемое значение
- Пример
- Оглавление
- Math — математические функции в Python
- Что такое модуль?
- Функции представления чисел
- ceil() и floor() — целая часть числа
- Функция fabs() — абсолютное значение
- factorial() — функция факториала
- Функция fmod() — остаток от деления
- Функция frexp()
- Функция fsum() — точная сумма float
- Функции возведения в степень и логарифма
- Функция exp()
- Функция expm1()
- Функция log() — логарифм числа
- Функция log1p()
- Функция log10()
- Функция pow() — степень числа
- Функция sqrt() — квадратный корень числа
- Тригонометрические функции
- Функция преобразования углов
- Математические константы
9.11. Python – Метод math.modf() – отделить дробную часть от целой
Метод modf() – возвращает дробную и целую части x в кортеже из двух элементов. Обе части имеют тот же знак, что и x. Целая часть в Python возвращается как число с плавающей запятой.
Синтаксис
Ниже приведен синтаксис метода modf() в Python:
Примечание. Эта функция недоступна напрямую, поэтому нам нужно импортировать математический модуль, а затем нам нужно вызвать эту функцию, используя математический статический объект.
Параметры
х – числовое выражение.
Возвращаемое значение
Функция возвращает целую и дробную части x в кортеже из двух элементов. Обе части имеют тот же знак, что и x. Целая часть возвращается как число с плавающей запятой.
Пример
В следующем примере показано использование метода modf() в Python.
#!/usr/bin/python import math # Это импортирует математический модуль print "math.modf(100.12): ", math.modf(100.12) print "math.modf(100.72): ", math.modf(100.72) print "math.modf(119L): ", math.modf(119L) print "math.modf(math.pi): ", math.modf(math.pi)
Когда приведённый выше код выполнится, он даст следующий результат:
math.modf(100.12): (0.12000000000000455, 100.0) math.modf(100.72): (0.71999999999999886, 100.0) math.modf(119L): (0.0, 119.0) math.modf(math.pi): (0.14159265358979312, 3.0)
Оглавление
- 1. Python – Самоучитель для начинающих
- 2. Python – Обзор
- 3. Python – Установка среды
- 4. Python – Базовый синтаксис
- 4.1. Python – Аргументы командной строки
- 5. Python – Типы переменных
- 6. Python – Основные операторы
- 6.1. Python – Арифметические операторы
- 6.2. Python – Операторы сравнения
- 6.3. Python – Операторы присваивания: примеры
- 6.4. Python – Побитовые операторы
- 6.5. Python – Логические операторы
- 6.6. Python – Операторы членства
- 6.7. Python – Операторы идентификации
- 6.8. Python – Приоритет операторов
- 7. Python – Условные операторы
- 7.1. Python – Условие if
- 7.2. Python – Условные операторы if. else и elif
- 7.3. Python – Вложенные операторы if
- 8. Python – Циклы
- 8.1. Python – Цикл while
- 8.2. Python – Цикл for
- 8.3. Python – Вложенные циклы
- 8.4. Python – Оператор break
- 8.5. Python – Оператор continue
- 8.6. Python – Оператор pass
- 9. Python – Числа
- 9.1. Python – Метод abs()
- 9.2. Python – Метод ceil()
- 9.3. Python – Метод cmp()
- 9.4. Python – Метод exp()
- 9.5. Python – Метод fabs()
- 9.6. Python – Метод floor()
- 9.7. Python – Метод log()
- 9.8. Python – Метод log10()
- 9.9. Python – Метод max()
- 9.10. Python – Метод min()
- 9.11. Python – Метод modf()
- 9.12. Python – Метод pow()
- 9.13. Python – Метод round()
- 9.14. Python – Метод sqrt()
- 9.15. Python – Метод choice()
- 9.16. Python – Метод randrange()
- 9.17. Python – Метод random()
- 9.18. Python – Метод seed()
- 9.19. Python – Метод shuffle()
- 9.20. Python – Метод uniform()
- 9.21. Python – Метод acos()
- 9.22. Python – Метод asin()
- 9.23. Python – Метод atan()
- 9.24. Python – Метод atan2()
- 9.25. Python – Метод cos()
- 9.26. Python – Метод hypot()
- 9.27. Python – Метод sin()
- 9.28. Python – Метод tan()
- 9.29. Python – Метод degrees()
- 9.30. Python – Метод radians()
Math — математические функции в Python
Эта статья посвящена математическим функциям в Python. Для выполнения математических операций необходим модуль math .
Что такое модуль?
В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных.
Есть три типа модулей в Python:
- Модули, написанные на Python ( .py ).
- Модули, написанные на C и загружаемые динамически ( .dll , .pyd , .so , .sl и так далее).
- Модули, написанные на 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))
factorial() — функция факториала
Эта функция принимает положительное целое число и выводит его факториал.
# Импорт модуля math import math number = 5 # вывод факториала числа print("факториала числа", math.factorial(number))
Примечание: при попытке использовать отрицательное число, возвращается ошибка значения ( 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.frexp(24.8))
Функция 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
Функции возведения в степень и логарифма
Функция exp()
Эта функция принимает один параметр в виде дробного числа и возвращает 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
Функция 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))
Функция log1p()
Эта функция похожа на функцию логарифма, но добавляет 1 к x . log1p значит log-1-p , то есть, log-1-plus .
# Импорт модуля math import math print(math.log1p(2))
Функция log10()
Вычисляет логарифм по основанию 10.
# Импорт модуля math import math print(math.log10(1000))
Функция pow() — степень числа
Используется для нахождение степени числа. Синтаксис функции pow(Base, Power) . Она принимает два аргумента: основание и степень.
# Импорт модуля math import math print(math.pow(5,4))
Функция sqrt() — квадратный корень числа
Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.
# Импорт модуля math import math print(math.sqrt(256))
Тригонометрические функции
В 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, которые конвертируют градусы в радиан и обратно.
# Импорт модуля math import math print(math.degrees(1.57)) print(math.radians(90))
89.95437383553924 1.5707963267948966
Математические константы
В Python есть две математические константы: pi и e .
- pi : это математическая константа со значением 3.1416..
- e : это математическая константа со значением 2.7183..
# Импорт модуля math import math # вывод значения PI print("значение PI", math.pi) # вывод значения e print("значение e", math.e)
значение PI 3.141592653589793 значение e 2.718281828459045