Урок 10.1 · Программирование с нуля · Модуль 10. Данные и базы данных · Бесплатно
Цель урока: Понять, что таблица в базе данных — это список словарей с одинаковыми полями.
Нужно знать заранее: Уроки 5.1 и 5.2 — списки и словари.
Зачем это нужно: Почти всё, с чем работает программа, — это список одинаковых записей. Заказы в магазине, клиенты, расходы, оценки, сообщения. В Excel это таблица: строки и столбцы. В Python такая таблица хранится списком словарей, и дальше вы будете делать с ней то же, что в Excel: считать, фильтровать, сортировать.
Как это работает: Таблица — это набор записей об одном и том же: все заказы, все клиенты, все расходы. Запись — одна строка таблицы: один заказ, один клиент, один расход. Поле — характеристика записи: город, сумма, дата.
В Python таблицу удобно хранить списком словарей:
orders = [ {"id": 1, "city": "Москва", "total": 1200}, {"id": 2, "city": "Казань", "total": 800}, {"id": 3, "city": "Москва", "total": 450}, {"id": 4, "city": "Сочи", "total": 300}, ]
Список — контейнер, в котором записи лежат по порядку. Словарь — одна запись: ключ → значение.
Как читать таблицу: - len(orders) — сколько записей. - orders[0] — первая запись. - orders[len(orders) - 1] — последняя запись. - orders[0]["city"] — поле city первой записи. - orders[0]["total"] — поле total первой записи.
Имена переменных: orders — заказы order — один заказ city — город total — сумма first — первая запись last — последняя запись
Разбор по шагам: 1. len(orders) считает записи: 4. 2. orders[0] берёт первую запись, orders[len(orders) - 1] — последнюю. 3. ["city"] и ["total"] достают поля. 4. Цикл for order in orders перебирает все записи. 5. total = total + order["total"] копит сумму: 1200 + 800 + 450 + 300 = 2750. 6. print собирает строки.
Частая ошибка: У записей разные ключи: у одной "city", у другой "town". Тогда orders[0]["city"] работает, а orders[1]["city"] — нет. В таблице у всех записей должны быть одни и те же поля. Вторая ошибка — брать orders[4], когда записей четыре: последняя запись — orders[3], потому что счёт идёт с нуля.
Важно: В настоящей базе данных таблица — это не список в памяти, а файл на сервере. Но принцип тот же: записи и поля. Python-список — это учебная модель, чтобы увидеть, как устроена таблица.
Проверь себя: Сколько записей в orders? Что вернёт len(orders)? Что вернёт orders[1]["city"]? (4, «Казань».)
Итог: Таблица — это список одинаковых записей. Запись — словарь. Поле — ключ. Количество — len. Первая запись — orders[0], последняя — orders[len(orders) - 1].
Что дальше: В следующем уроке — как найти нужную строку по ключу: не «третью по счёту», а конкретного клиента с id = 2.
orders = [
{"id": 1, "city": "Москва", "total": 1200},
{"id": 2, "city": "Казань", "total": 800},
]
print(len(orders)) # 2
print(orders[0]["city"]) # Москва
print(orders[1]["total"]) # 800В таблице orders четыре заказа. Напечатайте четыре строки: Всего записей: 4 Первая запись: Москва — 1200 Последняя запись: Сочи — 300 Сумма всех заказов: 2750 Подсказка: количество даёт len(orders), первая запись — orders[0], последняя — orders[len(orders) - 1]. Сумму копите циклом в переменной total.
Критерий успеха: Напечатаны четыре строки: количество, первая запись, последняя запись и сумма 2750.