2. Переменные

Переменные содержат данные. Благодаря этому к ним можно обращаться, заново использовать, вызывать, назначать и так далее.

Понимать переменные важно для работы с любой логикой в программировании. Это то, что знает любой программист вне зависимости от языка программирования, и поэтому это так важно для начинающих.

Простейшее определение переменной — это именованный контейнер для данных, к которым нужно обращаться в программе. Есть 2 основные причины для этого:

  • Зачастую данные — это больше чем 2 символа.
  • Обычно к ним нужно обращаться по несколько раз.

Где используется?

  • Сложно представить программирование без переменных. Это как обращаться к людям, не используя их имена и фамилии. Можно только представить, насколько это было бы неудобно.
  • В программировании переменные используются для определения и обращения к данным разных размеров, типов и форм.

Правила использования

  1. При присвоении значения переменная всегда находится слева, а данные — справа.
  2. Имя переменной может начинаться с символа или нижнего подчеркивания (_).
  3. Для вывода значения переменной с помощью функции print нужно передавать ее без кавычек.

Частые ошибки

  1. Начинать имя переменной с цифры.
  2. Использовать символы (кроме нижнего подчеркивания) в имени переменной.
  3. Использовать в переменной пробелы.

Примеры использования переменных

Предположим, что есть большое число: 149597970. Оно обозначает расстояние между Солнцем и Землей в километрах.

Предположим, что к этому значению нужно обратиться для выполнения вычислений. Вместо того, чтобы каждый раз вводить его, можно просто использовать переменную. Вот так:


>>> sun_to_earth = 149597970
>>> sun_to_earth = sun_to_earth + 1
>>> print(sun_to_earth)
149597971

Эти данные могли бы быть и куда объемнее. В них, например, могло бы быть 100 цифр, а обращаться к данным, возможно, нужно было бы в 100 разных местах. Таким образом польза от присваивания имени значению очевидна.

Разберем код примера:

  1. Сначала создается переменная sun_to_earth, и ей присваивается значение 149597970.
  2. Переменной sun_to_earth присваивается новое значение — 149597971.
  3. Выполняется функция print, которая выводит текущее значение переменной, то есть, 149597971.

Советы:

  1. Название переменной всегда расположено слева при присваивании. А значение, которое нужно присвоить, располагается справа.
  2. В Python (и любом другом языке программирования) очень важно правильно выбирать название переменной, ведь к ней придется часто обращаться:
    • Кое-какие названия являются зарезервированными в Python, поэтому их использовать нельзя: print, true, false, count, sum и так далее. Со временем вы все их узнаете.
    • Названия переменных должны начинаться с символа алфавита или нижнего подчеркивания.
    • Если начать переменную с символа или нижнего подчеркивания, то после в нее можно включать и цифры.
    • Названия переменных чувствительны к регистру. Если был использован символ в верхнем регистре, то именно так и нужно обращаться к переменой в будущем.
  3. Практические соглашения именования переменных:
    • Можно добавлять небольшой суффикс, чтобы не путать переменную с ключевым словом Python: var_number , var_true , v_start , v_close, the_class, the_one, the_name. Креативность разрешена, главное, чтобы система оставалась понятной.
    • Лучше не использовать переменную в один символ, только если это цикл или любая другая короткая операция. Такие имена как a, x, y, z начинают путать уже спустя пару минут после того, как их впервые использовали.
    • Слова рекомендуется разделять нижним подчеркиванием: cars_сounted, doors_сlosed, dogs_saved, ships_fixed и так далее. Это повышает читаемость переменных. Сравните: timeinmoscow и time_in_moscow.
    • Рекомендуется (часто требуется) использовать латиницу и английские слова. Так ваш код будут понимать больше разработчиков.

>>> dogs_name = "Шарик"
>>> dogs_kind = "Сенбернар"
>>> print("Его зовут " , dogs_name , ". Он ", dogs_kind, ".", sep="")
Его зовут Шарик. Он Сенбернар.

Это отличный пример применения не только переменной, но и функции print, ведь в последней используются сразу текст и значение переменной. Плюс, названия переменных выбраны очень удачно. Названия для переменных — тема субъективная, поэтому достаточно использовать то, что удобно для вас.

В одной строке можно присвоить сразу несколько переменных. Вот пример:


>>> i, j, k = "Hello", 55, 21.0765
>>> print(i, j, k)
Hello 55 21.0765

>>> dogs_name = "Шарик"
>>> dogs_kind = "Сенбернар"
>>> print("Его зовут " , dogs_name , ". Он ", dogs_kind, ".", sep="")
Его зовут Шарик. Он Сенбернар.

Задачи к уроку

Попробуйте решить задачи к этому уроку для закрепления знаний.

1. Отредактируйте код, что бы он выводил заданный текст.

# данный код
apple_stocks = 
print("", apple_stocks, "")
# требуемый вывод:
# Запасы яблок на складе: 356 кг.

2. Допишите код, что бы получить требуемый вывод.

# данный код
a, b = 45, 54
c = a + 1
d = c + 
print(d)
# требуемый вывод:
# 56

3. Создайте переменные, что бы вывести требуемый текст.

# данный код
print("Мой стек:", programming_lang_1, programming lang_2, programming_lang_3)
# требуемый вывод:
# Мой стек: python, javascript, php

Файл со всем заданиями: https://gitlab.com/PythonRu/python-dlya-nachinayushih/-/blob/master/lesson_2.py.

Тест на понимание переменных

Пройдите тест к этому уроку для проверки знаний. В тесте 5 вопросов, количество попыток неограниченно.

Тест на понимание переменных

Чему равно значение z:
x, y, z = 32 43 11
Какой код НЕ вернет ошибку?
Как рекомендуется назвать переменную в которой хранятся марки авто?
Что выведет этот код:
x = 5
print(x, x, x)
Символ который можно использовать в имени переменной

Если нашли ошибку, опечатку или знаете как улучшить этот урок, пишите на почту. Ее можно найти внизу сайта.

Появились вопросы? Задайте на Яндекс Кью

У блога есть сообщество на Кью >> Python Q <<. Там я и другие участники отвечаем на вопросы по python, программированию и контенту сайта.

Обучение Python и Data Science

Профессия Python-разработчик / Skillbox

Профессия Python-разработчик / Skillbox

7 313 2 925 ₽/мес.
Профессия Python Fullstack / Skillbox

Профессия Python Fullstack / Skillbox

6 569 2 627 ₽/мес.
Профессия Data Scientist / Skillbox

Профессия Data Scientist / Skillbox

9 187 3 675 ₽/мес.
Python-фреймворк на Django / Skillbox

Python-фреймворк на Django / Skillbox

818 ₽/мес.
Профессия DS: машинное обучение / Skillbox

Профессия DS: машинное обучение / Skillbox

6172 2469 ₽/мес.
Профессия DS: анализ данных / Skillbox

Профессия DS: анализ данных / Skillbox

6172 2469 ₽/мес.

Вам помогла эта статья? Поделитесь в соцсетях или блоге. Репосты помогают сайту развиться.

Александр эксперт Яндекс.Кью
Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.
Мои контакты: