ГЛАВА 1: ПЕРЕМЕННЫЕ (VARIABLES)
🎯 Что такое переменная?
Переменная = коробка с наклейкой, где хранится значение.
💡 АНАЛОГИЯ 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)
💡 Когда использовать переменные
✅ Используй переменные когда:
- Значение используется несколько раз:
# Без переменной (плохо):
print(3.14159 * 10 * 10) # ← Формула радиуса
print(3.14159 * 20 * 20) # ← Что за 3.14159?
# С переменной (хорошо!):
пи = 3.14159 # ← Понятно что это!
радиус1 = 10
радиус2 = 20
print(пи * радиус1 * радиус1) # ← Читабельно!
print(пи * радиус2 * радиус2)
- Значение может измениться:
# Цена товара может меняться:
цена = 1000 # ← Легко изменить в одном месте!
количество = 5
итого = цена * количество
print(итого)
- Нужно дать смысл числу:
# ❌ Непонятно:
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)