
Переменные в Python
Привет! Сегодня мы познакомимся с одним из самых важных понятий в программировании — переменными. Представьте, что это подписанные «коробочки» (именованные области памяти), в которые вы можете складывать разные вещи: числа, тексты, списки и многое другое.
Что такое переменная?
Переменная в Python — это именованная ссылка на объект в памяти, тип которой определяется динамически и может изменяться.
В Python работа с переменными максимально проста:
- Не нужно объявлять переменные перед использованием
- Не нужно указывать тип — Python сам определит его
- Можно изменить тип переменной в любой момент
Создание переменной происходит при первом присваивании, и дальше вы можете использовать её где угодно в программе.
Создание и использование переменных
Для создания переменной используется оператор =.
Пример:
# Создание переменных различных типов name = "Иван" # Строковая переменная age = 25 # Целочисленная переменная height = 1.85 # Переменная с плавающей точкой is_student = True # Логическая переменная courses = ["Python", "SQL", "JavaScript"] # Переменная-список
После этого при выполнении кода print() или других операций на место имени переменной будет подставлено её значение:
>>> name = "Иван" # Используем переменную в строке с приветствием >>> print("Привет, " + name + "! 👋")
Привет, Иван! 👋>>> age = 25 # Используем переменную в вычислении >>> next_year_age = age + 1 >>> print(f"В следующем году тебе будет {next_year_age} лет! 🎂")В следующем году тебе будет 26 лет! 🎂
Множественное присваивание
Python позволяет присваивать значения нескольким переменным в одной строке:
# Присваиваем одно значение нескольким переменным >>> x = y = z = 0 >>> print(f"x = {x}, y = {y}, z = {z}")
x = 0, y = 0, z = 0# Присваиваем разные значения нескольким переменным >>> a, b, c = 1, 2, 3 >>> print(f"a = {a}, b = {b}, c = {c}")a = 1, b = 2, c = 3
Также можно «распаковать» коллекцию в несколько переменных:
>>> coordinates = (10, 20, 30) >>> x, y, z = coordinates >>> print(f"Координаты: x={x}, y={y}, z={z}")
Координаты: x=10, y=20, z=30
Для обмена значениями двух переменных без промежуточной используй простое присваивание:
# Обмен значениями переменных >>> a = 5 >>> b = 10 >>> print(f"До обмена: a = {a}, b = {b}")
До обмена: a = 5, b = 10>>> a, b = b, a # Обмен значениями >>> print(f"После обмена: a = {a}, b = {b}")После обмена: a = 10, b = 5
Динамическая типизация
Python — язык с динамической типизацией. Тип переменной определяется во время выполнения и может меняться при присваивании нового значения:
# Демонстрация изменения типа переменной >>> x = 10 # x имеет тип int (целое число) >>> print(f"x = {x}, тип: {type(x)}")
x = 10, тип: <class 'int'>>>> x = "десять" # теперь x имеет тип str (строка) >>> print(f"x = {x}, тип: {type(x)}")x = десять, тип: <class 'str'>>>> x = [1, 2, 3] # теперь x имеет тип list (список) >>> print(f"x = {x}, тип: {type(x)}")x = [1, 2, 3], тип: <class 'list'>
Для определения текущего типа данных переменной используется встроенная функция type():
>>> name = "Иван" >>> age = 25 >>> height = 1.85 >>> is_student = True # Определение типов переменных >>> print(f"{name}: {type(name)}")
Иван: <class 'str'>>>> print(f"{age}: {type(age)}")25: <class 'int'>>>> print(f"{height}: {type(height)}")1.85: <class 'float'>>>> print(f"{is_student}: {type(is_student)}")True: <class 'bool'>
Именование переменных в Python
Хорошие имена переменных делают код понятным и удобным в поддержке.
Правила именования
- Имена могут содержать буквы, цифры и символ подчёркивания (a-z, A-Z, 0-9, _).
- Имя должно начинаться с буквы или символа подчёркивания.
- Нельзя использовать зарезервированные слова Python (например, if, for, class).
# Допустимые имена >>> name = "Иван" >>> age_in_years = 25 >>> _private_variable = "Непубличная информация" # Недопустимые имена # 2name = "Нельзя начинать с цифры" # my-name = "Нельзя использовать дефис" # class = "Зарезервированное слово"
Лучшие практики для именования переменных 🌟
В сообществе Python существует официальное руководство по стилю кода — PEP 8, которое содержит рекомендации по именованию переменных и другим аспектам написания чистого, понятного Python-кода.
Следование этим рекомендациям считается хорошей практикой и помогает писать код, который будет легко поддерживать:
- Используйте описательные имена — пусть имя переменной говорит о её назначении
# Лучше так ✅ >>> user_age = 25 >>> print(f"Возраст пользователя: {user_age}")
Возраст пользователя: 25# Чем так ❌ >>> a = 25 >>> print(f"Значение переменной a: {a}") # О чём эта переменная?Значение переменной a: 25
- Используйте стиль snake_case для переменных (слова в нижнем регистре, разделенные подчеркиваниями)
# Python-стиль ✅ >>> first_name = "Иван" >>> print(f"Имя: {first_name}")
Имя: Иван# Не в стиле Python ❌ >>> firstName = "Иван" >>> print(f"Имя: {firstName}")Имя: Иван
- Добавляйте префикс is_ или has_ для логических переменных (тип bool)
# Сразу понятно, что это логические переменные ✅ >>> is_adult = True >>> has_permission = False >>> print(f"Совершеннолетний: {is_adult}")
Совершеннолетний: True>>> print(f"Имеет разрешение: {has_permission}")Имеет разрешение: False
-
Используйте ВЕРХНИЙ_РЕГИСТР для констант (значений, которые не должны меняться)
# Константы в верхнем регистре ✅ MAX_ATTEMPTS = 3 PI = 3.14159
-
Избегайте слишком коротких и непонятных имен — экономия на символах приводит к потере времени при чтении кода
# Плохие имена переменных ❌ n = "Иван" # Слишком короткое x = 25 # Непонятное flag = True # Неясное назначение str1 = "Строка" # Неинформативное # Хорошие имена переменных ✅ user_name = "Иван" age_in_years = 25 is_verified = True welcome_message = "Добро пожаловать!"
Чувствительность к регистру
Python — регистрозависимый язык, что означает различие между прописными и строчными буквами в именах переменных. Переменные name, Name и NAME интерпретируются как три разные переменные:
>>> name = "Иван" >>> Name = "Пётр" >>> NAME = "Алексей" >>> print(name)
Иван>>> print(Name)Пётр>>> print(NAME)Алексей
Три разные переменные: изменение регистра в имени переменной приводит к самостоятельной новой переменной.
Проверка понимания
Давайте проверим, насколько хорошо вы поняли особенности работы с переменными в Python:
Какое из следующих утверждений наиболее точно описывает переменные в Python?
Заключение
Отлично! 🎉 Теперь вы знаете, что такое переменные в Python и как с ними работать. Это фундаментальная концепция, которая будет основой для всего вашего дальнейшего путешествия в мире программирования.
Помните, что правильное именование переменных и понимание их динамической природы в Python сделает ваш код более читаемым и поддерживаемым. Экспериментируйте, практикуйтесь, и у вас обязательно получится! 💪