Переменные в Python

Привет! Сегодня мы познакомимся с одним из самых важных понятий в программировании — переменными. Представьте, что это подписанные «коробочки» (именованные области памяти), в которые вы можете складывать разные вещи: числа, тексты, списки и многое другое.

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

Переменная в Python — это именованная ссылка на объект в памяти, тип которой определяется динамически и может изменяться.

В Python работа с переменными максимально проста:

  • Не нужно объявлять переменные перед использованием
  • Не нужно указывать тип — Python сам определит его
  • Можно изменить тип переменной в любой момент

Создание переменной происходит при первом присваивании, и дальше вы можете использовать её где угодно в программе.

Создание и использование переменных

Для создания переменной используется оператор =.
Пример:

Python 3.13
# Создание переменных различных типов
name = "Иван"          # Строковая переменная
age = 25               # Целочисленная переменная
height = 1.85          # Переменная с плавающей точкой
is_student = True      # Логическая переменная
courses = ["Python", "SQL", "JavaScript"]  # Переменная-список

После этого при выполнении кода print() или других операций на место имени переменной будет подставлено её значение:

Python 3.13
>>> name = "Иван"
# Используем переменную в строке с приветствием
>>> print("Привет, " + name + "! 👋")
Привет, Иван! 👋
>>> age = 25 # Используем переменную в вычислении >>> next_year_age = age + 1 >>> print(f"В следующем году тебе будет {next_year_age} лет! 🎂")
В следующем году тебе будет 26 лет! 🎂

Множественное присваивание

Python позволяет присваивать значения нескольким переменным в одной строке:

Python 3.13
# Присваиваем одно значение нескольким переменным
>>> 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

Также можно «распаковать» коллекцию в несколько переменных:

Python 3.13
>>> coordinates = (10, 20, 30)
>>> x, y, z = coordinates
>>> print(f"Координаты: x={x}, y={y}, z={z}")
Координаты: x=10, y=20, z=30

Для обмена значениями двух переменных без промежуточной используй простое присваивание:

Python 3.13
# Обмен значениями переменных
>>> 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 — язык с динамической типизацией. Тип переменной определяется во время выполнения и может меняться при присваивании нового значения:

Python 3.13
# Демонстрация изменения типа переменной
>>> 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():

Python 3.13
>>> 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

Хорошие имена переменных делают код понятным и удобным в поддержке.

Правила именования

  1. Имена могут содержать буквы, цифры и символ подчёркивания (a-z, A-Z, 0-9, _).
  2. Имя должно начинаться с буквы или символа подчёркивания.
  3. Нельзя использовать зарезервированные слова Python (например, if, for, class).
Python 3.13
# Допустимые имена
>>> name = "Иван"
>>> age_in_years = 25
>>> _private_variable = "Непубличная информация"

# Недопустимые имена
# 2name = "Нельзя начинать с цифры"
# my-name = "Нельзя использовать дефис"
# class = "Зарезервированное слово"

Лучшие практики для именования переменных 🌟

В сообществе Python существует официальное руководство по стилю кода — PEP 8, которое содержит рекомендации по именованию переменных и другим аспектам написания чистого, понятного Python-кода.

Следование этим рекомендациям считается хорошей практикой и помогает писать код, который будет легко поддерживать:

  1. Используйте описательные имена — пусть имя переменной говорит о её назначении
Python 3.13
# Лучше так ✅
>>> user_age = 25
>>> print(f"Возраст пользователя: {user_age}")
Возраст пользователя: 25
# Чем так ❌ >>> a = 25 >>> print(f"Значение переменной a: {a}") # О чём эта переменная?
Значение переменной a: 25
  1. Используйте стиль snake_case для переменных (слова в нижнем регистре, разделенные подчеркиваниями)
Python 3.13
# Python-стиль ✅
>>> first_name = "Иван"
>>> print(f"Имя: {first_name}")
Имя: Иван
# Не в стиле Python ❌ >>> firstName = "Иван" >>> print(f"Имя: {firstName}")
Имя: Иван
  1. Добавляйте префикс is_ или has_ для логических переменных (тип bool)
Python 3.13
# Сразу понятно, что это логические переменные ✅
>>> is_adult = True
>>> has_permission = False

>>> print(f"Совершеннолетний: {is_adult}")
Совершеннолетний: True
>>> print(f"Имеет разрешение: {has_permission}")
Имеет разрешение: False
  1. Используйте ВЕРХНИЙ_РЕГИСТР для констант (значений, которые не должны меняться)

    Python 3.13
    # Константы в верхнем регистре ✅
    MAX_ATTEMPTS = 3
    PI = 3.14159
    
  2. Избегайте слишком коротких и непонятных имен — экономия на символах приводит к потере времени при чтении кода

    Python 3.13
    # Плохие имена переменных ❌
    n = "Иван"          # Слишком короткое
    x = 25              # Непонятное
    flag = True         # Неясное назначение
    str1 = "Строка"     # Неинформативное
    
    # Хорошие имена переменных ✅
    user_name = "Иван"
    age_in_years = 25
    is_verified = True
    welcome_message = "Добро пожаловать!"
    

Чувствительность к регистру

Python — регистрозависимый язык, что означает различие между прописными и строчными буквами в именах переменных. Переменные name, Name и NAME интерпретируются как три разные переменные:

Python 3.13
>>> name = "Иван"
>>> Name = "Пётр"
>>> NAME = "Алексей"

>>> print(name)
Иван
>>> print(Name)
Пётр
>>> print(NAME)
Алексей

Три разные переменные: изменение регистра в имени переменной приводит к самостоятельной новой переменной.

Проверка понимания

Давайте проверим, насколько хорошо вы поняли особенности работы с переменными в Python:

Какое из следующих утверждений наиболее точно описывает переменные в Python?

Заключение

Отлично! 🎉 Теперь вы знаете, что такое переменные в Python и как с ними работать. Это фундаментальная концепция, которая будет основой для всего вашего дальнейшего путешествия в мире программирования.

Помните, что правильное именование переменных и понимание их динамической природы в Python сделает ваш код более читаемым и поддерживаемым. Экспериментируйте, практикуйтесь, и у вас обязательно получится! 💪


Мы с вами на связи
Русский