Справочник Python

Полное руководство по языку на русском

Числа и математика

Целые числа (int)

Python поддерживает целые числа произвольной точности — не ограничены 32 или 64 битами.

a = 42  # числовое значение
b = -7  # числовое значение
big = 10**100

# Системы счисления
0b1010
0o12
0xFF

# Разделитель разрядов
million = 1_000_000  # числовое значение

Числа с плавающей точкой (float)

pi = 3.14159  # числовое значение
small = 1.5e-10
inf = float('inf')  # преобразование в дробное
nan = float('nan')  # преобразование в дробное

# Осторожно: погрешность вычислений
0.1 + 0.2  # 0.30000000000000004 (не 0.3!)
Из-за двоичного представления float не могут точно хранить десятичные дроби. Для денег используйте Decimal.

Математические операции

10 + 3   # 13
10 - 3   # 7
10 * 3   # 30
10 / 3   # 3.3333333333333335
10 // 3  # 3 (целочисленное деление)
10 % 3   # 1 (остаток)
10 ** 3  # 1000 (степень)

# Функции с округлением
round(3.14159, 2)   # 3.14
round(3.5)         # 4 (банковское округление!)
round(4.5)         # 4 (к чётному!)
int(3.9)           # 3 (отбрасывание дробной части)

Модуль math

import math  # импорт математического модуля

math.sqrt(16)       # 4.0
math.pow(2, 3)      # 8.0
math.pi             # 3.141592653589793
math.e              # 2.718281828459045
math.sin(math.pi/2) # 1.0
math.cos(0)         # 1.0
math.log(100, 10)   # 2.0
math.log(math.e)    # 1.0
math.ceil(3.2)      # 4
math.floor(3.8)     # 3
math.trunc(3.8)     # 3
math.factorial(5)   # 120
math.gcd(12, 8)     # 4
math.isfinite(x)  # математическая функция
math.isnan(x)  # математическая функция

Модуль random

import random  # импорт модуля случайных чисел

random.random()         # 0.0–1.0
random.randint(1, 6)    # 1–6 (кубик)
random.choice(['a','b','c'])  # случайный элемент
random.choices(pop, k=3)  # выборка с возвращением
random.sample(pop, k=3)  # выборка без возвращения
random.shuffle(lst)  # перемешивание
random.seed(42)  # фиксация генератора случайных

Decimal — точные десятичные числа

from decimal import Decimal  # импорт модуля

Decimal('0.1') + Decimal('0.2')  # Decimal('0.3')
Decimal('10.00').quantize(Decimal('0.1'))  # точное десятичное число

Fraction — дроби

from fractions import Fraction  # импорт модуля

Fraction(1, 3) + Fraction(1, 6)  # Fraction(1, 2)