Шпаргалка: базовые типы данных в Python

Тип данных отвечает на вопрос: что это за значение и какие действия с ним можно делать. Новичку важно не только знать названия типов, но и понимать, где каждый тип применяется

По этой теме полезно отдельно посмотреть Составьте еженедельное расписание занятий, чтобы расширить контекст и сравнить подходы

По этой теме полезно отдельно посмотреть Аннотации типов для декораторов в Python, чтобы расширить контекст и сравнить подходы

Таблица типов

ТипПримерДля чего нужен
str"Python"текст
int42целые числа
float3.14дробные числа
boolTrueлогика
NoneTypeNoneотсутствие значения
list[1, 2, 3]изменяемый список
tuple(10, 20)фиксированная группа
dict{"name": "Анна"}значения по ключам
set{"python", "sql"}уникальные значения

Проверка типа

value = ["python", "sql"]

print(type(value))
print(isinstance(value, list))

type() показывает конкретный тип. isinstance() удобнее для проверок в условиях

Строки

text = "  Python  "

print(text.strip())
print(text.lower())
print(len(text))

Строка подходит для текста, адресов, названий, сообщений и данных, которые еще не превращены в число

Числа

price = 1200
quantity = 3

print(price * quantity)
print(price / quantity)

Если число пришло из input() или файла, оно часто будет строкой

value = "42"
print(int(value) + 1)

Логика и None

is_active = True
city = None

if city is None:
    print("город не указан")

None лучше проверять через is None, а не через ==

Списки и кортежи

items = ["python", "sql"]
point = (10, 20)

items.append("html")
x, y = point

print(items)
print(x, y)

Список используют, когда данные будут меняться. Кортеж используют для фиксированной пары или группы значений

Словари

profile = {
    "name": "Анна",
    "age": 28,
    "skills": ["Python", "SQL"],
}

print(profile["name"])
print(profile.get("city", "город не указан"))

Словарь подходит для карточек, настроек, строк таблицы и данных из API

Множества

skills = ["python", "sql", "python"]
unique_skills = set(skills)

print(unique_skills)

Множество убирает повторы и быстро проверяет наличие значения

Преобразования типов

Нужно получитьПример
числоint("42")
дробное числоfloat("3.14")
строкуstr(42)
списокlist("abc")
множествоset(items)

Одна задача на несколько типов

Типы данных лучше запоминаются, когда работают вместе. Ниже пример анкеты пользователя: строка, число, список, словарь, логическое значение и None

profile = {
    "name": "Анна",
    "age": 28,
    "skills": ["python", "sql"],
    "active": True,
    "telegram": None,
}

print(profile["name"])
print(profile["age"] + 1)
print(", ".join(profile["skills"]))
print(profile["telegram"] is None)

Если поменять тип, поменяется и допустимое действие. Со строкой можно делать lower, с числом — сложение, со списком — append, со словарем — доступ по ключу

Как выбирать тип

СитуацияПодходящий типПример
нужно хранить имяstr"Анна"
нужна сумма или возрастint или float1200, 3.14
нужно да или нетboolTrue
значения нетNonetelegram = None
несколько элементов по порядкуlist["python", "sql"]
запись с полямиdict{"name": "Анна"}
только уникальные значенияset{"python", "sql"}

Преобразования и проверки

age_text = "28"
price_text = "1490.50"

age = int(age_text)
price = float(price_text)

print(age + 1)
print(price * 2)
print(isinstance(age, int))

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

value = "42"

if value.isdigit():
    print(int(value))
else:
    print("Это не целое число")

Частая путаница

"42" и 42 выглядят похоже, но это разные типы. Строка склеивается со строкой, число складывается с числом. Когда результат странный, первым делом выводите type(value)

Частые ошибки

ОшибкаПочему случается
сложить строку и числозначение из input() не преобразовали
изменить кортежкортеж не меняется на месте
прочитать отсутствующий ключв словаре нет такого поля
ждать порядок от setмножество хранит уникальность, а не порядок
вызвать метод строки у спискаперепутан тип значения
Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x