1

ГЛАВА 1: ПЕРЕМЕННЫЕ (VARIABLES)

⭐ ДЕМО
📑 Содержание
🎯 Что такое переменная?
📝 Создание переменной
✏️ Изменение значения переменной
📏 Правила имён переменных
🔄 Как работает переменная внутри
💡 Использование переменных
⚠️ Частые ошибки новичков
💡 Когда использовать переменные
📊 Визуализация: Как Python хранит переменные
🎯 ЗАДАЧИ К ГЛАВЕ 1

🎯 Что такое переменная?

Переменная = коробка с наклейкой, где хранится значение.

💡 АНАЛОГИЯ 1: Коробка с наклейкой

Представь: у тебя есть коробка для вещей

┌─────────────────┐
│                 │
│   📦 Коробка    │  ← Здесь хранится значение
│                 │
└─────────────────┘
      ↓
  🏷️ "возраст"      ← Наклейка (имя переменной)

В Python:
возраст = 25

Теперь когда ты скажешь "возраст", Python:
1. Прочитает наклейку "возраст"
2. Откроет коробку
3. Достанет значение 25

💡 АНАЛОГИЯ 2: Шкафчик в раздевалке

В раздевалке стоят шкафчики:

┌────┐ ┌────┐ ┌────┐
│ 5  │ │ 10 │ │ 3  │  ← Номера (имена переменных)
├────┤ ├────┤ ├────┤
│👕 │ │🎒 │ │👟 │  ← Вещи внутри (значения)
└────┘ └────┘ └────┘

Шкафчик № 5 → внутри футболка
Переменная "возраст" → внутри число 25

📝 Создание переменной

Синтаксис:

имя_переменной = значение

Разбор по частям:

имя_переменной  ← Это НАКЛЕЙКА (как ты будешь обращаться)
=               ← Знак присваивания (положить значение в коробку)
значение        ← Это что ЛЕЖИТ в коробке

Примеры:

# Пример 1: Возраст
возраст = 25                    # ← Создали переменную "возраст"
                                 # ← Положили в неё число 25
print(возраст)                   # ← Вывели на экран
# Результат: 25

Что происходит: 1. Python видит возраст = 25 2. Создаёт ячейку памяти 3. Кладёт туда число 25 4. Приклеивает ярлык "возраст" 5. Теперь можешь обращаться по имени!

# Пример 2: Имя
имя = "Иван"                     # ← Создали переменную "имя"
                                 # ← Положили в неё текст "Иван"
                                 # ← Текст ВСЕГДА в кавычках!
print(имя)                       # ← Вывели на экран
# Результат: Иван
# Пример 3: Несколько переменных
имя = "Иван"                     # ← Переменная 1
возраст = 25                     # ← Переменная 2
рост = 180                       # ← Переменная 3

print(имя)                       # ← Иван
print(возраст)                   # ← 25
print(рост)                      # ← 180

✏️ Изменение значения переменной

Переменную можно менять сколько угодно раз!

# Пример 1: Меняем возраст
возраст = 25                     # ← Сначала возраст = 25
print(возраст)                   # ← 25

возраст = 30                     # ← Теперь возраст = 30 (старое значение стёрлось!)
print(возраст)                   # ← 30

Аналогия:

Шкафчик "возраст":
1. Положил внутрь бумажку "25"
2. Потом достал её
3. Положил новую бумажку "30"
4. Старая бумажка выброшена!
# Пример 2: Меняем на основе старого значения
счёт = 100                       # ← Начальный счёт = 100
print(счёт)                      # ← 100

счёт = счёт + 50                 # ← Взяли старое значение (100)
                                 # ← Прибавили 50
                                 # ← Положили обратно (150)
print(счёт)                      # ← 150

Разбор по шагам:

счёт = счёт + 50

ШАГ 1: Python читает ПРАВУЮ часть (счёт + 50)
       счёт сейчас = 100
       100 + 50 = 150

ШАГ 2: Python кладёт 150 в переменную "счёт"
       Старое значение 100 стирается!

ШАГ 3: Теперь счёт = 150
# Пример 3: Краткая запись
счёт = 100                       # ← счёт = 100
счёт += 50                       # ← Это ТО ЖЕ САМОЕ что: счёт = счёт + 50
print(счёт)                      # ← 150

# Другие краткие записи:
счёт -= 20                       # ← счёт = счёт - 20  (теперь 130)
счёт *= 2                        # ← счёт = счёт * 2   (теперь 260)
счёт /= 2                        # ← счёт = счёт / 2   (теперь 130.0)

📏 Правила имён переменных

✅ МОЖНО:

возраст = 25                     # ← Русские буквы (можно!)
age = 25                         # ← Английские буквы
имя_пользователя = "Иван"        # ← Подчёркивание _
user_name = "John"               # ← snake_case (так принято!)
age2 = 30                        # ← Цифры (но НЕ в начале!)
_private = 100                   # ← Начинается с _ (специальное использование)

❌ НЕЛЬЗЯ:

2возраст = 25                    # ❌ Начинается с цифры!
имя-пользователя = "Иван"        # ❌ Дефис запрещён! (используй _)
user name = "John"               # ❌ Пробел запрещён!
class = "Python"                 # ❌ class - зарезервированное слово!
for = 5                          # ❌ for - зарезервированное слово!

📝 ХОРОШИЙ СТИЛЬ (рекомендации):

# ✅ Хорошо (понятно что это)
количество_студентов = 30
максимальная_скорость = 120
имя_пользователя = "Иван"

# ❌ Плохо (непонятно)
x = 30                           # ← Что такое x?
a = 120                          # ← Что такое a?
s = "Иван"                       # ← Что такое s?

# ✅ Исключение: когда буква понятна из контекста
for i in range(10):              # ← i - это счётчик цикла (норм!)
    print(i)

🔄 Как работает переменная внутри

Когда ты пишешь возраст = 25, вот что происходит в памяти компьютера:

ПАМЯТЬ КОМПЬЮТЕРА:

Шаг 1: Python создаёт число 25
┌─────────┐
│   25    │ ← Место в памяти (адрес: 0x1A2B)
└─────────┘

Шаг 2: Python создаёт ярлык "возраст"
┌──────────┐      ┌─────────┐
│ возраст  │ ───→ │   25    │
└──────────┘      └─────────┘
   ярлык           значение

Шаг 3: Когда ты пишешь print(возраст):
1. Python видит "возраст"
2. Смотрит куда указывает ярлык
3. Находит 25
4. Выводит 25 на экран

Важно понимать:

возраст = 25                     # ← Ярлык "возраст" указывает на 25
возраст = 30                     # ← Теперь ярлык "возраст" указывает на 30
                                 # ← 25 удаляется из памяти (если никто не использует)

💡 Использование переменных

Пример 1: Вычисления

# Площадь прямоугольника
ширина = 10                      # ← ширина = 10 метров
высота = 5                       # ← высота = 5 метров
площадь = ширина * высота        # ← площадь = 10 * 5 = 50
print(площадь)                   # ← 50

# Без переменных было бы:
print(10 * 5)                    # ← Работает, но непонятно что это

Пример 2: Текст

имя = "Иван"                     # ← Переменная с именем
возраст = 25                     # ← Переменная с возрастом

# Способ 1: Конкатенация (склеивание)
print("Меня зовут " + имя)       # ← Меня зовут Иван

# Способ 2: F-string (современный способ!)
print(f"Меня зовут {имя}")       # ← Меня зовут Иван
print(f"Мне {возраст} лет")      # ← Мне 25 лет

Разбор f-string:

print(f"Мне {возраст} лет")
      ↑   ↑         ↑
      │   │         └─ Обычный текст
      │   └─ Переменная вставляется сюда!
      └─ Буква f говорит "в строке будут переменные"

Python делает:
1. Видит f перед кавычками
2. Ищет {} внутри строки
3. Заменяет {возраст} на значение переменной
4. Получается: "Мне 25 лет"

Пример 3: Обмен значениями

# Задача: поменять местами значения двух переменных
a = 5                            # ← a = 5
b = 10                           # ← b = 10

# ❌ Неправильно:
a = b                            # ← a = 10 (потеряли 5!)
b = a                            # ← b = 10 (оба теперь 10)

# ✅ Правильно (способ 1): через третью переменную
a = 5
b = 10
temp = a                         # ← temp = 5 (сохранили)
a = b                            # ← a = 10
b = temp                         # ← b = 5 (достали из temp)
print(a, b)                      # ← 10 5

# ✅ Правильно (способ 2): Pythonic способ!
a = 5
b = 10
a, b = b, a                      # ← Магия Python! Меняет местами!
print(a, b)                      # ← 10 5

⚠️ Частые ошибки новичков

Ошибка 1: Использование переменной до создания

❌ НЕПРАВИЛЬНО:
print(возраст)                   # ← Ошибка! Переменная не существует!
возраст = 25

✅ ПРАВИЛЬНО:
возраст = 25                     # ← Сначала создай переменную
print(возраст)                   # ← Потом используй

Почему ошибка: Python читает код сверху вниз. Если переменная не создана - он её не знает!

Ошибка 2: Путаница с кавычками

❌ НЕПРАВИЛЬНО:
возраст = "25"                   # ← Это ТЕКСТ "25", не число!
новый_возраст = возраст + 1      # ← Ошибка! Нельзя прибавить число к тексту!

✅ ПРАВИЛЬНО:
возраст = 25                     # ← Это ЧИСЛО 25
новый_возраст = возраст + 1      # ← 26 (работает!)

Ошибка 3: Забыл знак =

❌ НЕПРАВИЛЬНО:
возраст 25                       # ← Ошибка! Нет знака =

✅ ПРАВИЛЬНО:
возраст = 25                     # ← Знак = обязателен!

Ошибка 4: Пробелы в имени

❌ НЕПРАВИЛЬНО:
мой возраст = 25                 # ← Ошибка! Пробел запрещён!

✅ ПРАВИЛЬНО:
мой_возраст = 25                 # ← Используй подчёркивание _
моиВозраст = 25                  # ← Или camelCase (но не принято в Python)

💡 Когда использовать переменные

✅ Используй переменные когда:

  1. Значение используется несколько раз:
# Без переменной (плохо):
print(3.14159 * 10 * 10)         # ← Формула радиуса
print(3.14159 * 20 * 20)         # ← Что за 3.14159?

# С переменной (хорошо!):
пи = 3.14159                     # ← Понятно что это!
радиус1 = 10
радиус2 = 20
print(пи * радиус1 * радиус1)    # ← Читабельно!
print(пи * радиус2 * радиус2)
  1. Значение может измениться:
# Цена товара может меняться:
цена = 1000                      # ← Легко изменить в одном месте!
количество = 5
итого = цена * количество
print(итого)
  1. Нужно дать смысл числу:
# ❌ Непонятно:
if возраст >= 18:
    print("OK")

# ✅ Понятно:
СОВЕРШЕННОЛЕТИЕ = 18             # ← Константа (обычно БОЛЬШИМИ БУКВАМИ)
if возраст >= СОВЕРШЕННОЛЕТИЕ:
    print("OK")

📊 Визуализация: Как Python хранит переменные

КОД:                      ПАМЯТЬ:

имя = "Иван"         →    ┌─────────┐
                          │  "Иван" │ ← Адрес: 0x001
                          └─────────┘
                               ↑
                          ┌────────┐
                          │  имя   │ ← Указывает на адрес 0x001
                          └────────┘

возраст = 25         →    ┌─────────┐
                          │   25    │ ← Адрес: 0x002
                          └─────────┘
                               ↑
                          ┌────────┐
                          │ возраст│ ← Указывает на адрес 0x002
                          └────────┘

имя = "Петр"         →    ┌─────────┐
                          │  "Петр" │ ← Адрес: 0x003 (новый объект!)
                          └─────────┘
                               ↑
                          ┌────────┐
                          │  имя   │ ← Теперь указывает на 0x003
                          └────────┘

                          ┌─────────┐
                          │  "Иван" │ ← Удалится (garbage collection)
                          └─────────┘

🎯 ЗАДАЧИ К ГЛАВЕ 1

🟢 Уровень 1: Базовый (понять синтаксис)

Задача 1.1

Создай переменную имя со своим именем и выведи её на экран.

Задача 1.2

Создай две переменные: число1 = 10 и число2 = 20. Выведи их сумму.

Задача 1.3

Создай переменную возраст с твоим возрастом. Выведи фразу "Мне X лет" используя f-string.

Задача 1.4

Создай переменную счёт = 100. Увеличь её на 50 и выведи результат.

Задача 1.5

Создай две переменные a = 5 и b = 10. Поменяй их местами и выведи.


🟡 Уровень 2: Средний (применить знания)

Задача 2.1

Создай программу "Визитка": - Переменные: имя, возраст, город, хобби - Выведи красивую визитку с этими данными

Задача 2.2

Калькулятор площади комнаты: - Переменные: длина, ширина - Вычисли и выведи площадь

Задача 2.3

Конвертер температуры: - Переменная: температура в Цельсиях - Формула Фаренгейта: F = C * 9/5 + 32 - Выведи обе температуры

Задача 2.4

Программа "Магазин": - Переменные: цена_товара, количество - Вычисли итоговую сумму - Вычисли сумму со скидкой 10% - Выведи обе суммы


🔴 Уровень 3: Продвинутый (реальные задачи)

Задача 3.1

Создай программу расчёта стоимости поездки: - Переменные: расстояние (км), цена_бензина, расход (л/100км) - Вычисли: сколько литров нужно, сколько стоит поездка - Выведи детальный отчёт

Задача 3.2

Программа "Кредитный калькулятор" (упрощённый): - Переменные: сумма_кредита, процент_годовых, срок_лет - Вычисли общую сумму выплаты (простые проценты) - Формула: итого = сумма + (сумма * процент * срок / 100)