Python

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

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

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

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

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

Тип Пример Для чего нужен
str "Python" текст
int 42 целые числа
float 3.14 дробные числа
bool True логика
NoneType None отсутствие значения
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 или float 1200, 3.14
нужно да или нет bool True
значения нет None telegram = 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 множество хранит уникальность, а не порядок
вызвать метод строки у списка перепутан тип значения
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x