Базовые типы данных в Python

Посмотрите на две строки. Оператор один и тот же, а результат разный:

Python 3.13
print(10 + 5)
15
print("10" + "5")
105

В первом случае + сложил числа, во втором — склеил две строки подряд. Python ведёт себя по-разному, потому что 10 и "10" для него не одно и то же: первое — число, второе — текст. К каждому значению Python привязывает тип, и именно тип решает, что означает операция над значением.

Поэтому путаница в типах — частый источник ошибок у новичков: складываете два значения, ожидаете 15, а получаете «105», потому что значения на самом деле строки.

Как узнать тип значения

Если непонятно, с чем вы имеете дело, тип можно спросить напрямую функцией type().

Python 3.13
print(type(42))
<class 'int'>
print(type(3.14))
<class 'float'>
print(type("Python"))
<class 'str'>
print(type(True))
<class 'bool'>

В выводе int — целое число, float — число с дробной частью, str — строка, bool — логическое значение (истина или ложь). Объявлять тип заранее не нужно: Python определяет его сам по тому, что вы записали.

Python 3.13
number = 42        # int  — целое число
pi = 3.14          # float — число с дробной частью
name = "Python"    # str  — строка
is_active = True   # bool — логическое значение

Какие типы есть в Python

Кроме четырёх базовых, у Python есть встроенные типы для коллекций и более специальных задач. Вот основные категории:

КатегорияТипы
Текстstr
Числаint, float
Логический типbool
Коллекцииlist, tuple, set, dict
Отсутствие значенияNoneType (значение None)

В ближайших главах мы разберём числа, строки и логические значения подробно, а затем перейдём к коллекциям — спискам, кортежам, множествам и словарям. Пока достаточно одной мысли: у каждого значения есть тип, и от него зависит, что с этим значением можно делать.

Проверка понимания

Что выведет print("3" + "4")?