Встроенные математические функции
| Функция | Описание | Пример |
|---|---|---|
abs(x) | Модуль числа | abs(-5) → 5 |
max(a, b, ...) | Максимальное значение | max(1, 5, 3) → 5 |
max(iterable) | Максимум в коллекции | max([1, 5, 3]) → 5 |
min(a, b, ...) | Минимальное значение | min(1, 5, 3) → 1 |
min(iterable) | Минимум в коллекции | min([1, 5, 3]) → 1 |
pow(base, exp) | Степень | pow(2, 3) → 8 |
sum(iterable) | Сумма элементов | sum([1, 2, 3]) → 6 |
round(x) | Округление до целого | round(2.5) → 2 |
round(x, n) | Округление до n знаков | round(3.1415, 2) → 3.14 |
Способы импорта
| Запись | Как использовать | Когда применять |
|---|---|---|
import math | math.sqrt(16) | Рекомендуется по умолчанию |
from math import sqrt, pi | sqrt(16) | Нужны отдельные имена, короткий код |
import math as m | m.sqrt(16) | Длинные названия модулей или конфликты |
from math import * | sqrt(16) | Не рекомендуется: конфликты имён |
Модуль math
| Функция / константа | Описание | Пример |
|---|---|---|
math.sqrt(x) | Квадратный корень | math.sqrt(25) → 5.0 |
math.pow(x, y) | Степень (float) | math.pow(2, 3) → 8.0 |
math.factorial(x) | Факториал | math.factorial(5) → 120 |
math.ceil(x) | Округление вверх | math.ceil(4.1) → 5 |
math.floor(x) | Округление вниз | math.floor(4.9) → 4 |
math.pi | Число π | 3.141592653589793 |
math.e | Число e | 2.718281828459045 |
math.sin(x) | Синус (радианы) | math.sin(math.pi/2) → 1.0 |
math.cos(x) | Косинус (радианы) | math.cos(0) → 1.0 |
math.tan(x) | Тангенс (радианы) | math.tan(math.pi/4) → ~1.0 |
math.degrees(x) | Радианы → градусы | math.degrees(math.pi) → 180.0 |
math.radians(x) | Градусы → радианы | math.radians(180) → 3.14159... |
math.isclose(a, b) | Сравнение float | math.isclose(0.1+0.2, 0.3) |
Работа с float
| Проблема | Решение | Пример |
|---|---|---|
| Сравнение на равенство | math.isclose() | math.isclose(a, b, rel_tol=1e-9) |
| Вывод с фиксированным числом знаков | round(x, n) или форматирование | f"{x:.2f}" |
| Хранение денег | Decimal | Decimal('0.1') + Decimal('0.2') |
Модуль Decimal
| Запись | Результат | Примечание |
|---|---|---|
Decimal('0.1') + Decimal('0.2') | Decimal('0.3') | Правильно |
Decimal(0.1) + Decimal(0.2) | длинная дробь | Float уже неточен |
Decimal('1.005').quantize(Decimal('0.01')) | Decimal('1.00') | Требуется настройка округления |
Биты, байты и числа
| Тип | Размер | Диапазон / особенности |
|---|---|---|
| бит | 1 бит | 0 или 1 |
| байт | 8 бит | 0–255 без знака, −128–127 со знаком |
| int (Python) | произвольный | ограничен только памятью |
| float (Python) | 64 бита | IEEE 754, примерно ±10308 |