Типы и числа в Python
Числа, строки, булевы значения и приведение одного к другому.
Базовые типы и type()
age = 21 # int
price = 19.9 # float
name = 'Anna' # str
active = True # bool
type(price) # <class 'float'> Четыре типа закрывают почти все задачи новичка: int, float, str, bool. type(x) показывает, с чем ты имеешь дело — первый шаг, когда значение ведёт себя странно.
Преобразование типов
int('42') # 42
float('19.9') # 19.9
str(597) # '597'
int('12a') # ValueError int(), float() и str() создают новое значение нужного типа. Строка с мусором внутри падает с ValueError — оборачивай вызов в try/except, если данные приходят извне.
Деление: / , // и %
7 / 2 # 3.5
7 // 2 # 3
7 % 2 # 1
597 % 10 # 7, the last digit / всегда возвращает float, // отбрасывает дробную часть, % даёт остаток. Пара // и % — стандартный способ разобрать число на цифры или минуты на часы.
Степень и корень: **
2 ** 10 # 1024
25 ** 0.5 # 5.0, the square root
10 ** -2 # 0.01 ** возводит в степень, дробный показатель даёт корень: x ** 0.5 — квадратный. Заметь: результат корня — float, даже когда он «ровный».
round и abs
round(2.678) # 3
round(2.678, 2) # 2.68
abs(-15) # 15
round(2.5) # 2, not 3 round(x, n) округляет до n знаков, abs убирает знак. Подвох: round(2.5) даёт 2 — Python округляет половинки к чётному соседу, а не вверх.