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

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

Теперь, когда мы знаем как импортировать модули, познакомимся с первым из них — math. Это часть стандартной библиотеки Python: установки не нужно, просто import math. Модуль содержит математические функции и константы, необходимые при расчётах.

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

import math

print(math.pi)    # 3.141592653589793 — число π
print(math.e)     # 2.718281828459045 — основание натурального логарифма
print(math.tau)   # 6.283185307179586 — τ = 2π
print(math.inf)   # inf — бесконечность
print(math.nan)   # nan — не число (Not a Number)

math.inf удобен как начальное значение при поиске минимума: любое число меньше бесконечности.

Округление

Python предлагает несколько видов округления:

import math

x = 3.7

print(round(x))        # 4 — встроенная: к ближайшему целому
print(math.floor(x))   # 3 — вниз (к меньшему целому)
print(math.ceil(x))    # 4 — вверх (к большему целому)
print(math.trunc(x))   # 3 — усечение (отбросить дробную часть)

print(math.floor(-2.1))  # -3 — вниз означает «в сторону -∞»
print(math.ceil(-2.1))   # -2 — вверх означает «в сторону +∞»

Обратите внимание: floor(-2.1) = -3, а не -2. «Вниз» — это в сторону минус бесконечности, не к нулю.

Степень, корень, логарифм

import math

print(math.sqrt(16))      # 4.0 — квадратный корень
print(math.pow(2, 10))    # 1024.0 — степень (возвращает float)
print(2 ** 10)             # 1024 — встроенный оператор (возвращает int)

print(math.log(math.e))   # 1.0 — натуральный логарифм
print(math.log(100, 10))  # 2.0 — логарифм по основанию 10
print(math.log2(8))       # 3.0 — логарифм по основанию 2
print(math.log10(1000))   # 3.0 — логарифм по основанию 10

print(math.exp(1))        # 2.718... — e в степени 1
print(math.exp(2))        # 7.389... — e в степени 2

Тригонометрия

Функции работают с радианами, не с градусами:

import math

# Конвертация:
deg = 90
rad = math.radians(deg)    # 1.5707963...
print(math.degrees(rad))   # 90.0

# Тригонометрические функции:
print(math.sin(math.pi / 2))   # 1.0 — sin(90°)
print(math.cos(0))              # 1.0 — cos(0°)
print(math.tan(math.pi / 4))   # 0.9999... ≈ 1.0 — tan(45°)

Небольшая погрешность — нормальное явление из-за представления чисел с плавающей точкой. sin(π) даёт 1.2246e-16, а не точный 0.

Факториал и НОД

import math

print(math.factorial(5))  # 120 — 5! = 1*2*3*4*5
print(math.gcd(12, 8))    # 4 — наибольший общий делитель

# Python 3.9+:
print(math.lcm(4, 6))     # 12 — наименьшее общее кратное

Практический пример: геометрия

import math

def circle_area(radius):
    return math.pi * radius ** 2

def hypotenuse(a, b):
    return math.sqrt(a ** 2 + b ** 2)

print(f"Площадь круга r=5: {circle_area(5):.2f}")   # 78.54
print(f"Гипотенуза 3-4: {hypotenuse(3, 4):.1f}")    # 5.0

Проверь себя

Что вернёт math.ceil(-1.5)?

Функция ceil округляет вверх — в сторону плюс бесконечности. -1.5 округлённое вверх — -1 (ближайшее целое, которое больше или равно -1.5). Ответ: -1.

Итог

  • math.pi, math.e — математические константы.
  • math.floor(x) / math.ceil(x) — округление вниз / вверх.
  • math.sqrt(x) — квадратный корень; math.pow(x, n) — степень.
  • math.log(x), math.log2(x), math.log10(x) — логарифмы.
  • Тригонометрические функции работают с радианами; math.radians() / math.degrees() — конвертация.

В следующем уроке изучим модуль random — генерацию случайных чисел, случайный выбор из списка и перемешивание.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике