Типы и числа в 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 округляет половинки к чётному соседу, а не вверх.

Что дальше