0.1 Python за один урок: Colab, переменные, списки, словари, функции

Урок 0.1. Python за один урок

После урока вы сможете:

  • открывать ноутбук в Google Colab и запускать код;
  • работать с переменными, списками и словарями;
  • писать условия и циклы;
  • создавать собственные функции.

Файлы модуля:

  • module_0_files.zip — ноутбук module_0_notebook_alaarcha_coffee.ipynb и обе таблицы (распакуйте архив);
  • таблицы отдельно: orders.csv и menu.csv.

Google Colab за 5 минут

Google Colab — бесплатная среда для Python в браузере. Всё уже установлено: pandas, scikit-learn, LightGBM и другие библиотеки курса.

  1. Откройте colab.research.google.com и войдите в аккаунт Google.
  2. Выберите «Файл» → «Загрузить блокнот» и загрузите файл .ipynb модуля.
  3. Слева откройте панель «Файлы» (значок папки) и перетащите туда CSV-файлы модуля.
  4. Запускайте ячейки по очереди: Shift + Enter.

Загруженные файлы удаляются, когда сессия Colab закрывается (примерно через 90 минут без активности). Если видите ошибку FileNotFoundError, просто загрузите CSV заново. Ноутбук сохраняйте: «Файл» → «Сохранить копию на Диске».

Переменные и типы

Переменная — это имя для значения. Python сам определяет тип значения.

cafe = 'Ала-Арча Кофе'       # строка (str)
branches = 4                  # целое число (int)
latte_price = 210.0           # дробное число (float)
is_open = True                # логическое значение (bool)

# f-строка подставляет значения переменных в текст
print(f'В сети «{cafe}» {branches} точки, латте стоит {latte_price:.0f} сом')

Списки

Список хранит несколько значений по порядку. Нумерация начинается с нуля.

prices = [120, 150, 190, 210, 240]

prices[0]        # 120 — первый элемент
prices[-1]       # 240 — последний элемент
prices[:3]       # [120, 150, 190] — первые три
prices.append(260)                  # добавить элемент в конец
sum(prices) / len(prices)           # 195.0 — средняя цена

Словари

Словарь хранит пары «ключ → значение». Удобно для справочников вроде меню.

menu = {'Эспрессо': 120, 'Капучино': 190, 'Латте': 210}
menu['Раф'] = 240          # добавить новую позицию
menu['Капучино']           # 190 — найти цену по названию

Условия и циклы

for drink, price in menu.items():       # перебираем пары ключ-значение
    if price >= 200:
        level = 'премиум'
    elif price >= 150:
        level = 'стандарт'
    else:
        level = 'эконом'
    print(f'{drink:10} {price:>4} сом  {level}')

Отступы в Python важны. Всё, что сдвинуто на 4 пробела после строки с двоеточием, относится к циклу или условию. Неправильный отступ — самая частая ошибка новичков: IndentationError.

List comprehension — короткая запись цикла, который создаёт новый список. Вы будете часто видеть её в коде курса:

with_discount = [round(p * 0.9) for p in prices]     # все цены со скидкой 10%
expensive = [p for p in prices if p > 200]          # только дорогие позиции

Функции

Функция — это именованный кусок кода, который можно вызывать много раз с разными данными.

def margin(price, cost):
    """Маржа в процентах: какая доля цены остаётся после себестоимости."""
    return (price - cost) / price * 100

margin(210, 60)      # 71.4 — маржа латте
margin(260, 110)     # 57.7 — маржа чизкейка

Первая находка для «Ала-Арча Кофе»: латте приносит 71% маржи, а чизкейк — только 58%, хотя стоит дороже. Дорогая позиция — не всегда самая выгодная. В уроке 0.2 проверим это на всех продажах сети.

Задание для самопроверки: напишите функцию final_price(price, is_regular, discount=0.1), которая возвращает цену со скидкой для постоянных гостей и полную цену для новых. Проверьте: final_price(210, True) должна вернуть 189. Решение — в конце ноутбука.

Итоги урока

  • Colab — бесплатный Python в браузере, запуск ячейки — Shift + Enter.
  • Списки хранят значения по порядку, словари — пары «ключ → значение».
  • Отступы определяют, какой код относится к циклу, условию или функции.
  • Функции позволяют не повторять один и тот же код.