Числа и математика
Целые числа (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)