Глава 5 · Давайте поиграем с числами!

Модуль math — от каталога к инструментам

Что такое модуль, зачем нужен import и что означает точка в math.sqrt() — прежде чем нырять в конкретные функции, разберёмся, как вообще устроен этот ящик с инструментами.

Python уже кое-что умеет считать без всякой подготовки:

vstroennoe.py
print(abs(-7))     # 7
print(round(4.5))  # 4
print(pow(2, 10))  # 1024

Но настоящей математики в мире куда больше, чем четыре встроенные функции: корни, синусы, логарифмы, работа с углами и расстояниями. Если бы все такие инструменты были встроены прямо в язык — Python превратился бы в загромождённый список из сотен имён, и запомнить, что вообще доступно, стало бы невозможно.

Модуль — это отдельный, подписанный ящик с инструментами

Вместо этого стандартная библиотека Python организует связанные инструменты в модули — отдельные «ящики», которые лежат рядом, но не смешиваются с языком напрямую и друг с другом. Один из таких ящиков называется math — в нём собраны математические инструменты: корни, тригонометрия, логарифмы и многое другое.

Python: то, что встроено, и то, что лежит в модулях
Встроено в язык — доступно всегда
print() · abs()
round() · pow()
не требует import
Модуль math — отдельный ящик с инструментами
sqrt() · hypot() · gcd()
sin() · log() · pi
требует import math
Модуль — это отдельный, заранее подписанный ящик с инструментами, а не часть самого языка

import math — открываем ящик

Чтобы воспользоваться инструментами из ящика math, его нужно сначала явно открыть — командой import:

import_math.py
import math

# теперь всё содержимое ящика math доступно в этой программе
print(math.sqrt(2))
import math — это не «включить математику»
Строка import math примерно означает: «сделай содержимое модуля math доступным в этой программе». Без неё math.sqrt(25) вызовет NameError — Python ещё не знает, где искать math.

Что означает точка

Разберём запись math.sqrt(25) по частям:

math.sqrt(25)
модуль
где искать
инструмент
что делать
аргумент
с чем работать
Точка означает «возьми sqrt ИЗ модуля math» — это не украшение синтаксиса, а указание адреса

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

А что если аргумент не нужен: math.pi

math.pi — не функция, а готовое значение (константа): число π уже вычислено и лежит внутри модуля под именем pi. Поэтому у него нет круглых скобок — скобки означают «вызови функцию», а pi вызывать не нужно, его нужно просто прочитать:

math_pi.py
import math

print(math.pi)        # 3.141592653589793 — значение, не вызов
print(math.sqrt(25))  # 5.0 — а это вызов функции, поэтому есть скобки

Первые эксперименты

Несколько маленьких примеров — код и его результат:

eksperiment_1.py
import math

print(math.sqrt(25))

РЕЗУЛЬТАТ: 5.0 — квадратный корень из 25.

eksperiment_2.py
import math

print(math.pi)

РЕЗУЛЬТАТ: 3.141592653589793 — число π с точностью float.

eksperiment_3.py
import math

print(math.gcd(18, 24))

РЕЗУЛЬТАТ: 6 — наибольший общий делитель 18 и 24.

eksperiment_4.py
import math

print(math.hypot(3, 4))

РЕЗУЛЬТАТ: 5.0 — длина гипотенузы прямоугольного треугольника со сторонами 3 и 4.

Встроенное vs math — не путаем

Ещё раз проведём чёткую границу — какие инструменты встроены в язык напрямую, а какие нужно явно импортировать, и откуда именно:

ИнструментОткудаНужен import?
abs(), round(), pow()встроены в языкнет
math.sqrt(), math.floor(), math.sin(), math.log()модуль mathimport math
Decimalмодуль decimal (глава 4)from decimal import Decimal
Fractionмодуль fractions (глава 4)from fractions import Fraction
Decimal и Fraction — НЕ часть math
Это частая путаница: Decimal и Fraction из главы 4 — инструменты для точных чисел, но живут в СВОИХ собственных модулях (decimal и fractions), отдельно от math. Три разных ящика — три разных импорта.

Полная карта: что умеет math

Теперь, когда понятно, что такое модуль и зачем нужна точка, можно спокойно посмотреть на карту того, что math предлагает — следующие разделы главы разберут каждую карточку подробно, с реальными задачами:

Что умеет модуль math
Корни и расстояния
sqrt · isqrt
hypot · dist
Целочисленная математика
gcd · lcm
factorial · comb · perm
Геометрия
pi
hypot · dist
Тригонометрия
sin · cos · tan
radians · degrees
Логарифмы и рост
log · log2 · log10 · exp
Каждая карточка — отдельный раздел ниже, с реальными задачами и картинками

Как искать то, чего нет на карте

У math около полусотни функций — эта карта показывает только самые полезные для начала. Никто не держит в голове весь список, и это нормально: профессиональный навык — не «знать всё наизусть», а знать примерно, что существует, и уметь быстро найти точную деталь.

Официальная документация — не враг, а инструмент
Полный и точный список всего, что есть в math, — на странице официальной документации Python 3.14: docs.python.org/3.14/library/math (Standard Library → math). Опытные разработчики заглядывают туда постоянно — это не признак незнания, а нормальная часть работы.
Практика: модуль math — что такое модуль и первые вызовы
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →