Переменная — это имя для данных. Ты даёшь имя какому-то значению, чтобы потом использовать его в программе. Без переменных программа не может ничего запомнить.
Когда ты заполняешь профиль в Telegram — ты вводишь имя, и приложение его запоминает. В коде это работает точно так же: ты создаёшь переменную, кладёшь туда значение — и программа его помнит.
# Создаём переменную: имя = значение
name = "Катя"
# Теперь программа знает, что name — это "Катя"
# И ты можешь использовать это имя где угодно:
print(name) # → Катя
Аналогия: Контакт в телефоне. Ты сохраняешь номер под именем "Мама". Теперь вместо того чтобы каждый раз набирать +7-999-123-45-67, ты просто нажимаешь "Мама". Переменная — это то же самое: имя, за которым стоит значение.
Без переменных тебе пришлось бы каждый раз писать одно и то же значение заново:
# Без переменных — повторяешь "Катя" каждый раз
print("Привет, Катя!")
print("Катя, у тебя 3 новых сообщения")
print("Катя, твой заказ в пути")
# С переменной — меняешь в одном месте, работает везде
name = "Катя"
print(f"Привет, {name}!")
print(f"{name}, у тебя 3 новых сообщения")
print(f"{name}, твой заказ в пути")
# Если имя изменится — меняешь только первую строку
name = "Аня"
# И все три сообщения теперь будут для Ани
У каждого значения есть тип — что это за данные. Как в реальной жизни: имя — это текст, возраст — число, "подписан / не подписан" — да или нет.
Что это: Любой текст. Всегда в кавычках.
Зачем: Имена, сообщения, адреса, всё что является текстом.
# Строка — текст в кавычках (двойных или одинарных, без разницы)
name = "Катя"
message = 'Привет!'
emoji = "🔥"
# Строки можно соединять
greeting = "Привет, " + name # → "Привет, Катя"
# Или использовать f-строку (f = format)
greeting = f"Привет, {name}!" # → "Привет, Катя!"
# Внутри {} можно вставить любую переменную
Что это: Целое число. Без точки, без кавычек.
Зачем: Возраст, количество подписчиков, номер страницы — всё, что считается целыми числами.
age = 25
followers = 15000
messages_count = 3
# С числами можно делать математику
total = 10 + 5 # → 15
double = age * 2 # → 50
remaining = 100 - 30 # → 70
Что это: Число с дробной частью.
Зачем: Цена, рейтинг, координаты — всё, где нужна точность после запятой.
price = 199.99
rating = 4.8
temperature = 36.6
# В Python дробная часть отделяется ТОЧКОЙ, не запятой
# 36,6 — ошибка
# 36.6 — правильно
Что это: Только два значения: True (да, правда) или False (нет, ложь).
Зачем: Любой вопрос, на который ответ — да или нет. Пользователь залогинен? Подписка активна? Сообщение прочитано?
Аналогия: Переключатель — вкл/выкл. Уведомления в телефоне — включены (True) или выключены (False).
is_online = True # пользователь онлайн? Да
is_premium = False # подписка премиум? Нет
has_new_messages = True # есть новые сообщения? Да
# Булево значение получается из сравнений
age = 25
print(age > 18) # → True (25 больше 18? Да)
print(age == 30) # → False (25 равно 30? Нет)
# == означает "равно ли?" (сравнение)
# = означает "присвоить" (записать значение)
Что это: Упорядоченная коллекция элементов. В квадратных скобках.
Зачем: Лента постов, список контактов, история сообщений — любой набор элементов.
Аналогия: Лента Instagram. Посты идут по порядку: первый, второй, третий. Можно добавить новый, удалить старый, посмотреть конкретный по номеру.
# Список — значения в квадратных скобках, через запятую
friends = ["Аня", "Макс", "Дима"]
# Получить элемент по номеру (нумерация с 0, не с 1!)
print(friends[0]) # → "Аня" (первый элемент)
print(friends[1]) # → "Макс" (второй)
print(friends[2]) # → "Дима" (третий)
# Добавить элемент
friends.append("Лена") # теперь: ["Аня", "Макс", "Дима", "Лена"]
# Узнать сколько элементов
print(len(friends)) # → 4
# len = length = длина
Что это: Коллекция пар "ключ: значение". В фигурных скобках.
Зачем: Когда у данных есть названия. Профиль пользователя, настройки, ответ от API — всё это словари.
Аналогия: Профиль в соцсети. У каждого поля есть название (имя, город, возраст) и значение (Катя, Москва, 25).
# Словарь — пары ключ: значение в фигурных скобках
profile = {
"name": "Катя",
"age": 25,
"city": "Москва",
"is_premium": True
}
# Получить значение по ключу
print(profile["name"]) # → "Катя"
print(profile["city"]) # → "Москва"
# Добавить новое поле
profile["email"] = "katya@mail.ru"
# Это тот же формат что JSON (урок 1.2), только в Python-коде
Что это: Специальное значение, которое означает "ничего", "пусто", "нет данных".
Зачем: Когда значение ещё неизвестно или не существует.
Аналогия: Пустое поле в анкете. Не ноль, не пробел — именно "не заполнено".
middle_name = None # отчество не указано
phone = None # телефон не добавлен
# None — это не "0" и не "" (пустая строка)
# Это именно "данных нет"
name = "Катя"
age = 25
price = 199.99
is_online = True
friends = ["Аня", "Макс"]
profile = {"name": "Катя"}
# type() — функция, которая говорит тип данных
print(type(name)) # → <class 'str'> строка
print(type(age)) # → <class 'int'> целое число
print(type(price)) # → <class 'float'> дробное число
print(type(is_online)) # → <class 'bool'> булево
print(type(friends)) # → <class 'list'> список
print(type(profile)) # → <class 'dict'> словарь
Ты будешь использовать это постоянно:
name = "Катя"
age = 25
city = "Москва"
# f перед кавычкой — и внутри {} можно вставлять переменные
message = f"Меня зовут {name}, мне {age} лет, живу в {city}"
print(message)
# → Меня зовут Катя, мне 25 лет, живу в Москва
Создай файл profile.py и напиши:
# Твой профиль
name = "Катя" # замени на своё имя
age = 25 # замени на свой возраст
city = "Москва" # замени на свой город
is_learning_ai = True
skills = ["терминал", "файлы", "переменные"]
print(f"Имя: {name}")
print(f"Возраст: {age}")
print(f"Город: {city}")
print(f"Изучаю AI: {is_learning_ai}")
print(f"Навыки: {skills}")
print(f"Количество навыков: {len(skills)}")
Запусти: python3 profile.py
Задача 1: Какой тип данных у каждого значения?
a = "Привет"
b = 42
c = True
d = 3.14
e = ["один", "два"]
f = None
Задача 2: Есть список. Как получить "Макс"?
users = ["Аня", "Макс", "Дима"]
print(users[1]) # → "Макс"
# Нумерация с 0: Аня=0, Макс=1, Дима=2
Задача 3: Есть словарь. Как получить email?
user = {
"name": "Катя",
"email": "katya@mail.ru",
"age": 25
}
print(user["email"]) # → "katya@mail.ru"
Задача 4: Напиши f-строку, которая выведет: "Катя (25 лет) — Москва"
name = "Катя"
age = 25
city = "Москва"
print(f"{name} ({age} лет) — {city}")
Задача 5: В чём разница?
a = "25"
b = 25
| Термин | Что значит |
|---|---|
| Переменная | Именованная «коробка», в которой хранится значение — число, текст или что-то ещё |
| Тип данных | Категория значения, которая определяет, что с ним можно делать (складывать, склеивать и т.д.) |
| Строка (str) | Текстовый тип данных — любой текст в кавычках, например "Привет" |
| Число (int, float) | int — целое число (42), float — дробное число (3.14) |
| Булево (bool) | Тип «да или нет» — принимает только два значения: True или False |
| Список (list) | Упорядоченный набор значений в квадратных скобках: [1, 2, 3] |
| Словарь (dict) | Набор пар «ключ-значение» в фигурных скобках: {"name": "Катя", "age": 25} |
| f-строка | Строка с подстановкой переменных: f"Привет, {name}" — Python вставит значение вместо {name} |
| print() | Функция, которая выводит значение на экран — главный способ увидеть результат работы кода |
| type() | Функция, которая показывает тип данных переменной — полезна для отладки |
| None | Специальное значение «ничего» — означает, что переменная пуста или результат отсутствует |
Переменная — это имя для значения:
name = "Катя" — строка (str)
age = 25 — целое число (int)
pi = 3.14 — дробное число (float)
active = True — булево (bool)
items = [1, 2, 3] — список (list)
user = {"name": "Катя"} — словарь (dict)
Полезные функции:
print(name) — вывести значение на экран
type(name) — узнать тип переменной
f"Мне {age}" — подставить переменную в текст
Важно помнить:
"25" и 25 — разные вещи (строка vs число)
"25" + "25" → "2525" (склейка текста)
25 + 25 → 50 (сложение чисел)
None — значит «ничего», переменная пуста
В следующем уроке — Python: условия и циклы. Программа начнёт принимать решения и повторять действия.