Переменные в программировании: объявление, типы и область видимости
Переменная в программировании — это как ящик , куда ты можешь положить что-то (данные), а потом взять обратно. Ты даешь ему имя, чтобы знать, где что лежит, и можешь менять содержимое. Важно, что у каждого ящика есть свой размер и тип (например, для игрушек или книг), что определяет, что в него можно положить.
Переменная решает проблему хранения и доступа к данным в программе. Это как если бы ты мог не только пометить ящики , но и легко изменять то, что в них лежит, не открывая каждый раз крышку. Это делает программы гибкими и адаптируемыми к изменениям, позволяя использовать один и тот же код для разных данных.
Это упрощает написание программ, делая их более эффективными и менее подверженными ошибкам. Понимание того, как работают переменные, позволяет лучше управлять данными и избегать проблем с памятью, что делает код не только работающим, но и оптимизированным.
Пример
Давайте представим, что вы пишете программу для кафе, которая считает общую стоимость заказа. В вашем меню есть кофе, чай и пирожное. Цены меняются каждый день, и вам нужно легко обновлять их в программе. Использование переменных позволяет решить эту задачу.
Скопировать код
# Цены на сегодня цена_кофе = 100 цена_чай = 50 цена_пирожное = 70 # Количество каждого напитка в заказе количество_кофе = 2 количество_чай = 1 количество_пирожное = 3 # Расчет общей стоимости заказа общая_стоимость = (цена_кофе * количество_кофе) + (цена_чай * количество_чай) + (цена_пирожное * количество_пирожное) print(f"Общая стоимость заказа: рублей")
В этом примере цена_кофе , цена_чай , цена_пирожное , количество_кофе , количество_чай , и количество_пирожное – это переменные. Они хранят значения, которые мы используем для расчета общей_стоимости . Если завтра цены изменятся, вам просто нужно будет обновить значения в переменных, не меняя остальной части кода. Это делает вашу программу гибкой и легко адаптируемой к изменениям.
Как объявлять переменные и зачем это нужно
Объявление переменной — это как сообщить программе: «Эй, я буду использовать этот ящик для хранения чего-то». Это необходимый шаг, чтобы резервировать место в памяти компьютера под данные, которые вы собираетесь в него положить. Как правило, объявление переменной включает в себя указание типа данных, которые в ней будут храниться, и начальное значение.
Пример объявления переменной в Python:
Скопировать код
имя_переменной = начальное_значение
А вот как это выглядит в Java:
Скопировать код
тип_данных имя_переменной = начальное_значение;
Это сообщает программе, что нужно выделить место для хранения данных определенного типа и, возможно, сразу положить туда какие-то данные.
Разнообразие типов переменных
Типы переменных определяют, что именно вы можете хранить в своих ящиках . Это может быть что угодно: от простых чисел и текста (строк) до более сложных структур данных, таких как списки или словари. Важно понимать, что разный тип данных требует разного объема памяти и поддерживает разные операции.
Например, с числами можно выполнять математические операции, а со строками — операции конкатенации (сложения строк) и поиска подстрок. Выбор правильного типа переменной позволяет оптимизировать использование памяти и упростить код программы.
Где видно, а где нет: область видимости переменной
Область видимости переменной определяет, в каких частях программы вы можете получить доступ к этой переменной. Если говорить простым языком, это как если бы некоторые ящики были доступны только в определенной комнате вашего дома.
- Локальные переменные доступны только внутри блока кода или функции, где они были объявлены. Это как ящик в вашей комнате — только вы знаете, что в нем лежит, и только вы можете к нему подойти.
- Глобальные переменные доступны из любой части программы. Это как общедомовой ящик, к которому могут подойти все жители.
Понимание области видимости помогает избегать конфликтов имен и управлять доступом к данным.
Статическая и динамическая типизация: выбор за вами
Статическая и динамическая типизация — это два подхода к определению типов переменных. В языках с статической типизацией (например, Java, C#) тип переменной определяется на этапе компиляции и не может быть изменен. Это как если бы вы могли использовать ящик только для книг и ничего больше.
В языках с динамической типизацией (например, Python, JavaScript) тип переменной определяется во время выполнения программы, и вы можете хранить в переменной данные разных типов в разное время. Это как если бы ящик мог превращаться из ящика для книг в ящик для игрушек, когда вам это нужно.
Изменяемые и неизменяемые переменные: зачем это знать
Изменяемые и неизменяемые переменные — это концепция, связанная с тем, можно ли изменить данные в переменной после ее создания. Некоторые типы данных (например, строки и кортежи в Python) являются неизменяемыми: вы не можете изменить их содержимое, только создать новую переменную с новым содержимым. Это как если бы ящик запирался на замок, как только вы что-то туда положили.
Изменяемые типы данных (например, списки в Python) позволяют изменять содержимое переменной. Это как ящик, к которому у вас есть ключ, и вы можете в любой момент что-то добавить или убрать.
Понимание разницы между изменяемыми и неизменяемыми типами данных помогает писать более предсказуемый и безопасный код, особенно когда речь идет о многопоточности и параллельных вычислениях.
В заключение, переменные в программировании — это основа для хранения и управления данными. Понимание того, как объявлять переменные, какие типы данных существуют, как работает область видимости и различие между статической и динамической типизацией, а также между изменяемыми и неизменяемыми переменными, является ключевым для написания эффективного и безопасного кода.
Переменная
Переменная в программировании — это каким-либо образом проименованная и/или адресованная область физической или виртуальной памяти, предназначенная для хранения данных (значений). С ее помощью можно проводить различные операции с данными и обеспечить программе необходимую гибкость. Данные в переменной могут быть как изменяемыми, так и постоянными (в этом случае она называется константой).
«IT-специалист с нуля» наш лучший курс для старта в IT
Как работают переменные
В процессе исполнения компьютерная программа постоянно обращается к каким-либо данным, которые хранятся в ячейках памяти. То есть работающее приложение должно «знать», какие именно данные ему сейчас нужны для работы, а также — где они находятся. На ранних этапах развития компьютерной техники программисты писали программы на машинном языке, в котором для обращения к конкретным данным использовались регистры. Но на таком языке человек может писать только очень простой код. При создании более сложных программ использовать этот способ стало очень сложно.
С появлением ассемблеров задача обращения к данным существенно упростилась за счет более понятного человеку синтаксиса и логики. Теперь не нужно вручную прописывать регистры — вместо них стали использоваться переменные, которым программист просто присваивает те или иные данные (значения).
Понятие переменной в программировании в целом напоминает одноименный аналог из математики. В алгебре это абстрактное буквенное выражение, которое имеет определенный интервал конкретных значений (как правило, числовых). Переменные позволяют записывать различные математические операции в общем виде. Затем, заменяя их на конкретные значения из допустимого интервала, можно получить необходимые значения.
Аналогично работают переменные и в информатике, с той лишь разницей, что это не только логическая абстракция, вместо которой можно подставить конкретные значения, но и вполне конкретная область виртуальной/реальной памяти, куда обращается программа за нужными ей для работы данными.
Таким образом, переменные характеризуются следующими атрибутами:
- именем или адресом, обозначающим конкретную ячейку памяти, в которой хранятся необходимые для работы приложения данные;
- значением, то есть конкретными данными, которые содержатся в проименованной ячейке памяти;
- типом, который определяет характер значений, принимаемых переменной, виды операций с ними и их представление в памяти компьютера.
В программировании переменные используются для работы с динамическими (изменяющимися) данными. Например, если в компьютерной игре есть два перемещающихся персонажа, то им необходимо задать скорость движения. Можно сделать это вручную для каждого из них, однако каждое изменение скорости придется прописывать заново, что не очень удобно. Гораздо проще сделать это с помощью переменных — задав определенный интервал их значений. В этом случае изменять скорость персонажей можно, просто подставив нужные данные.
В императивных языках программирования также существует понятие константы — это тоже ячейка памяти, но содержащая только одно неизменяемое значение. Ее можно задать заранее, при этом указав ее имя, к которому может обращаться программа, или указать непосредственно в коде как непосредственное значение.
Профессия / 8 месяцев
IT-специалист с нуля
Попробуйте 9 профессий за 2 месяца и выберите подходящую вам
Типы переменных
Компьютерные программы работают с разнообразными данными — числами, словами (символами), структурами (массивами, деревьями) и т. д. Соответственно, приложение должно уметь их различать, а также понимать, где они хранятся и в какой момент их необходимо задействовать. Поэтому в программировании используются следующие виды переменных:
- Статическая. В этом случае тип данных переменной определяется на этапе компиляции программы — то есть заранее задается программистом. Это позволяет в большинстве случаев сократить расходы ресурсов компьютера. Кроме того, статическая типизация переменных упрощает обнаружение ошибок, что снижает время разработки и повышает надежность программы. В то же время она делает программный код менее гибким, так как любые изменения в типе данных программисту придется указывать вручную.
- Динамическая. При такой типизации тип переменной определяется на этапе присвоения значения (то есть исполнения программы), а не его объявления. Благодаря этому в различных участках программного кода одна и та же переменная может принимать значения разных типов. Динамическая типизация делает программу более гибкой, позволяет ей лучше взаимодействовать с изменяющимся окружением, упрощает ее переход на новый формат данных. В то же время повышается вероятность ошибок, увеличивается расход ресурсов платформы при исполнении.
Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить
Для каждой переменной устанавливается своя область видимости — часть программы, в пределах которой ее идентификатор (имя) остается с ней связанным, то есть позволяет через себя обратиться к ее значению. В зависимости от этого переменные могут быть:
- локальными — задействуются только конкретной подпрограммой (фрагментом кода);
- глобальными — используются всей программой.
Чтобы упорядочить использование переменных в программировании и исключить возникновение ошибок, применяется ограничение их зоны видимости. Благодаря этому программист может использовать одни и те же идентификаторы для похожих переменных в различных фрагментах программного кода.
В различных языках программирования в переменные можно «складывать» данные различных типов, например:
- целые числа с отрицательным или положительным знаком — например, 0, 1, –1, 234, –234 и т. д.;
- числа с плавающей запятой — компьютерная форма записи дробных действительных чисел;
- логические выражения — например, часто встречающееся в программировании true/false;
- строки (символы) — последовательности букв, чисел, знаков препинания, пробелов и т. д. (используются для записи текстовых данных);
- списки — структуры данных, представляющих собой упорядоченные последовательности значений;
- диапазоны — перечень значений стандартного дискретного типа, например, 1…100;
- массивы — фиксированное и структурированное количество однотипных данных;
- записи — совокупность связанных данных различного типа;
- файлы — однотипные данные, сохраненные на внешнем носителе информации.
В языках программирования со строгой (статической) типизацией тип переменных задается программистом заранее при их объявлении и не может быть изменен в дальнейшем. Более того, в этом случае в них нельзя добавить данные других типов. В частности в Java целочисленные переменные не могут содержать слова, строки или логические выражения. Напротив, в языках с динамической типизацией (например, Python) тип данных определяется программой автоматически при обращении к переменной, исходя из характера содержащихся в ней значений.
В зависимости от типа данных в переменной она может быть:
- Простой — используется для хранения данных, не имеющих структуры, таких как целые числа, символы, логические выражения true/false, отдельные значения из конечных множеств;
- Сложной — в такой переменной хранятся данные с внутренней структурой, наиболее показательными примерами которых являются массивы, деревья и записи.
Также в некоторых языках программирования предусмотрена возможность создания пустых переменных. Они имеют идентификатор (имя), но им не присвоено конкретных значений. Например, в JavaScript два типа таких переменных:
- Undefined (неопределенные). Это переменные, у которых не указан тип и значения. Иначе говоря, компьютер просто знает, что она есть, но не понимает, что в ней находится, какой объем памяти под нее выделить и как с ней потом работать. Чаще всего неопределенные переменные используются для отладки кода, определения данных, поступающих в программу, и поиска ошибок.
- Null (пустые). Такие переменные имеют определенный тип, но им не заданы конкретные значения. При этом компьютер понимает, какие данные в них положить, сколько им нужно памяти и как потом с ними работать. В отличие от undefined, null является конкретным значением переменной, означающим отсутствие данных.
От этих двух типов следует отличать переменную 0 (ноль), которая содержит конкретное целочисленное значение.
Использование переменных
Для работы с переменными необходимо их предварительно объявить. В различных языках программирования это происходит с некоторыми отличиями, но в целом используется похожий шаблон:
- Сначала ставится ключевое слово или знак, обозначающий новую переменную (например, var от английского «variation» или $);
- Далее указывается имя переменной. Как правило, оно записывается латинскими буквами и кратко описывает, какие данные будут использоваться (например, для переменной, содержащей имя человека, можно использовать слово name).
- После имени переменной указывается тип содержащихся в ней данных. Например, для каких-либо слов, имен, фраз это будет указатель string или char.
В некоторых языках порядок этих элементов в структуре объявления переменной может быть другим. Например, в ранних версиях Java отсутствовало ключевое слово var, которое указывает на создание новой переменной. Но в целом логика этого процесса везде примерно одинакова: нужно указать имя переменной и тип сохраняемых в ней данных.
На этом этапе заканчивается непосредственно объявление переменной. Но чтобы программа могла ее использовать, ей нужно присвоить определенное значение. Эта операция называется «присваиванием» и выражается с помощью математического символа «=», который называется оператором присваивания. После него указывается конкретное значение переменной, которое будет использоваться программой.
Хотя порядок объявления переменных может отличаться в зависимости от языка, существует несколько общих правил для корректного осуществления этой процедуры:
- Идентификаторы (имена) переменных могут содержать в себе буквы, цифры, знак нижнего подчеркивания, при этом оно обязательно не должно начинаться с цифры.
- Имя переменной лучше подбирать таким образом, чтобы было понятно, какие данные в ней сохраняются. Например, если это значения скорости персонажа в компьютерной игре, то подойдет идентификатор «speed».
- Следует избегать очень коротких (например, одно- или двухбуквенных) или слишком длинных имен переменных: первые неинформативны и затрудняют понимание, вторые делают код тяжеловесным и сложным для восприятия.
- Идентификаторы лучше писать английскими словами (например, price вместо stoimost), чтобы они были понятны другим людям, особенно при работе над иностранными или международными проектами.
- Первое слово в сложных именах рекомендуется записывать со строчной буквы, а каждое последующее — с заглавной (например, carsCount).
- Большинство современных языков программирования чувствительны к регистру имен переменных, что также необходимо учитывать при их написании.
В некоторых ЯП эти требования необязательны и просто рекомендуются как способы упростить написание и понимание кода. В других языках программирования они могут носить обязательный характер: несоблюдение правил их синтаксиса приводит к ошибкам и неисполнениям со стороны программы.
Переменные — одна из важнейших составляющих современного программирования, которая существенно упрощает написание кода, делает его более гибким и настраиваемым. В том или ином виде они встречаются в большинстве распространенных ЯП, поэтому понимание их структуры, принципа действия и правил написания являются основой создания правильно работающих приложений.
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.
Разбираемся с основами. Что такое переменная в программировании?
Что такое синтаксис в программировании
Что такое сигнатура в программировании: терминология и примеры
Что такое костыли в программировании?
Что такое компиляция, линковка, run time?
Что такое консоль в программировании, отличие от командной строки
В мире программирования переменные играют важную роль, так как они позволяют программистам создавать гибкие и динамичные программы, а также управлять состоянием, передавать информацию и решать прочие задачи. В этой статье мы рассмотрим, для чего нужны переменные в программировании, включая их определение, объявление, типы данных, область видимости, жизненный цикл и правила именования. Понимание этих концепций необходимо для создания эффективного и читаемого кода.
Что такое переменная в программировании
Переменная в программировании — это символическое имя, которое используется для хранения и обращения к данным в памяти компьютера. Она представляет собой область памяти, которая может содержать значение определенного типа данных. Переменные позволяют программистам временно сохранять данные, выполнять операции с этими данными и передавать их между различными частями программы.
Рассмотрим некоторые дополнительные аспекты объявления переменных:
- Имя переменной — это уникальный идентификатор, который используется для обращения к значению, хранящемуся в переменной. Обычно имена переменных состоят из букв, цифр и символа подчеркивания, начинаются с буквы и не содержат пробелов или специальных символов.
- Тип данных определяет, какой вид информации может быть сохранен в переменной и какие операции можно выполнять с этими данными. Как уже упоминалось, типы данных могут включать целые числа, числа с плавающей запятой, строки, логические значения и другие.
- Инициализация переменной. При объявлении переменной можно также произвести инициализацию, то есть присвоить ей начальное значение. Некоторые языки программирования требуют явного указания начального значения, в то время как другие присваивают значения по умолчанию.
- Область видимости. Переменные имеют свою область видимости, которая определяет, где и как они могут быть доступны в программе.
Объявление переменных отличается в разных языках программирования.
1. Python:
В Python переменные объявляются путем присваивания значения. Тип данных переменной определяется автоматически во время присваивания.
# Объявление переменной и присваивание значения
# Множественное объявление переменных
2. C++:
В C++ переменные объявляются с указанием типа данных.
// Присваивание значения переменной
// Объявление и инициализация переменной в одной строке
3. JavaScript:
В JavaScript переменные объявляются с использованием ключевых слов `var`, `let` или `const`.
// Объявление переменной с использованием let
// Присваивание значения переменной
// Объявление и инициализация переменной в одной строке
В каждом языке программирования существуют свои правила и соглашения для объявления переменных. Важно учитывать синтаксис и контекст использования переменных в конкретном языке.
Типы данных переменных
Различные языки программирования поддерживают разные типы данных для хранения информации в переменных.
1. Целочисленные типы данных:
— int (целое число): Обычно используется для хранения целых чисел без десятичной части. Например, в Python `age = 25`.
— long (длинное целое число): Используется для хранения очень больших целых чисел. Например, в C++ `long population = 9876543210L`.
2. Вещественные типы данных:
— float (число с плавающей запятой): Используется для хранения чисел с десятичной частью. Например, в Python `pi = 3.14`.
— double (двойная точность числа с плавающей запятой): Представляет числа с плавающей запятой повышенной точности. Например, в C++ `double distance = 123.45`.
3. Строковые типы данных:
— string (строка): Используется для хранения текстовых данных. Например, в JavaScript `let name = «John»`.
— char (символ): Используется для хранения отдельных символов. Например, в C++ `char grade = ‘A’`.
4. Логический тип данных:
— bool (логическое значение): Используется для хранения значений истинности (истина/ложь). Например, в Python `is_valid = True`.
5. Составные типы данных:
— Массивы (arrays): Позволяют хранить упорядоченные коллекции элементов одного типа. Например, в C++ `int numbers[] = ;`.
— Структуры (structures) и классы (classes): Позволяют определять пользовательские типы данных, состоящие из различных полей и методов. Например, в C++:
Область видимости переменных и их связь
Область видимости определяет, где именно в программе переменная является доступной и где ее имя может быть разрешено.
1. Локальная область видимости: Переменные, объявленные внутри определенной части кода, такой как функция или блок кода, имеют локальную область видимости. Это означает, что они могут быть использованы только внутри этой части кода и недоступны вне ее. Локальные переменные не могут быть доступны за пределами своей области видимости.
2. Глобальная область видимости: Переменные, объявленные вне всех функций или блоков кода, имеют глобальную область видимости. Это означает, что они доступны из любого места в программе. Глобальные переменные могут быть использованы и изменены в разных частях программы.
Хотите научиться программировать? Наши курсы для начинающих — это ваш шанс! Вы научитесь писать код на Java ☕, Python и JavaScript . Не важно, знаете вы что-то или нет — наш курс даст вам базовые знания. Приходите учиться и станьте крутым IT-специалистом! Первый шаг к новой жизни уже сегодня!
Жизненный цикл переменных и его связь с областью видимости
Жизненный цикл переменной определяет период времени, в течение которого переменная существует и может быть использована в программе. Жизненный цикл переменной связан с ее областью видимости.
- Объявление. Переменная создается и объявляется, присваивается начальное значение (опционально), и ей присваивается область видимости.
- Использование. Во время своей области видимости переменная может быть использована для чтения или записи данных.
- Завершение. По достижении программы, переменная завершает свой жизненный цикл. Выделенная память освобождается, и переменная перестает существовать.
- Уничтожение. По завершении области видимости или при выходе из контекста, переменная выходит из области видимости и уничтожается.
Связь между жизненным циклом переменных и их областью видимости заключается в том, что переменные существуют только в пределах своей области видимости и существуют в течение времени, пока их область видимости активна.
Правила именования переменных
Правила именования переменных могут отличаться в разных языках программирования, но есть некоторые общие рекомендации.
- Имена переменных могут состоять из букв (заглавных и строчных), цифр и символа подчеркивания.
- Имя переменной должно начинаться с буквы.
- Пробелы и специальные символы, такие как @, #, $ и т. д., обычно не разрешены в именах переменных.
- Регистр имеет значение: обычно имена переменных чувствительны к регистру.
- Имена переменных должны отражать значение или назначение переменной.
- Старайтесь избегать слишком длинных имен переменных, чтобы не усложнять читаемость кода.
Примеры правил именования переменных в различных языках программирования:
- Python: `my_variable`, `number_of_students`, `is_valid`
- JavaScript: `myVariable`, `numberOfStudents`, `isValid`
- C++: `myVariable`, `numberOfStudents`, `isValid`
Примеры из реальной жизни
Вот несколько примеров, где использование переменных было важным для создания программного продукта.
- Создание калькулятора. При разработке калькулятора переменные используются для хранения введенных пользователем чисел, промежуточных результатов вычислений и конечного результата.
- Управление инвентарем. В системах управления инвентарем переменные могут использоваться для отслеживания количества товаров, стоимости, описания и другой информации о продуктах.
- Разработка игр. При создании компьютерных игр переменные используются для отслеживания и управления различными аспектами игрового процесса, такими как позиция игрока, количество жизней, количество очков, состояние игровых объектов и другие параметры.
Без переменных программы были бы статическими и неспособными адаптироваться к различным ситуациям и взаимодействовать с пользователями.
Заключение
Переменные — важная часть программирования. Они помогают хранить и обрабатывать данные в программах. Они также помогают управлять доступом к данным и управлять ресурсами. Правила именования переменных гарантируют читаемость и согласованность кода. Понимание и использование переменных — основа для успешного программирования.
Похожие материалы
Что такое синтаксис в программировании
Что такое сигнатура в программировании: терминология и примеры
Что такое костыли в программировании?
Что такое компиляция, линковка, run time?
Что такое консоль в программировании, отличие от командной строки
Что такое переменная в программировании?
Переменная в программировании — это базовый элемент, который используется для хранения данных. На протяжении моей карьеры, переменные всегда были основой любого кода, который я писал.
Зачем нужны переменные в программировании?
Переменные необходимы для хранения и манипулирования данными. Они позволяют программам быть гибкими и адаптивными, реагируя на ввод пользователя или другие изменяющиеся условия.
Какие типы переменных обычно используются в программировании?
В различных языках программирования существуют разные типы переменных, включая числовые, строковые, булевые и другие. Я выбираю тип переменной в зависимости от того, какие данные мне нужно хранить.
Как правильно именовать переменные?
Правильное именование переменных — это ключевой аспект хорошего стиля кодирования. Имена переменных должны быть понятными и отражать их назначение. Я стараюсь избегать сокращений и однобуквенных имен, если они не делают код более читабельным.
Что такое область видимости переменной?
Область видимости переменной определяет, где эта переменная доступна для использования в коде. Важно правильно управлять областями видимости, чтобы избегать конфликтов и ошибок в коде.
Какие ошибки могут возникнуть при работе с переменными?
Ошибки, связанные с переменными, могут включать использование неинициализированных переменных, проблемы с областью видимости и конфликты имен. Я нахожу, что внимательное планирование и тщательная проверка кода помогают избегать большинства таких ошибок.
Что такое переменная
В программировании есть базовые вещи, на которых строится всё остальное. Мы решили рассказать о них, чтобы тем, кто только хочет начать разбираться в программировании, было проще. Если вы уже это знаете и хотите что-то посерьёзнее, почитайте, как установить облачный офис на свой сервер или что под капотом у ChatGPT и других языковых моделей.
Что такое переменная
Для начала формальное определение. Оно может показаться сложным, но знать его заранее полезно, по ходу рассказа определение будет обретать смысл:
Переменная — поименованная область памяти, в которую можно записать какое-то значение. Поименованная — значит, у неё есть определённое имя.
Представим ситуацию: в крупной компании, где много отделов и все не очень хорошо друг друга знают, проходит корпоратив. Чтобы сотрудникам было проще познакомиться, организаторы всем дают белые пластиковые бейджики, на которых нужно написать своё имя, потом их надо прикрепить на одежду. Бейджи готовились заранее в типографии, которая на обратной стороне каждой карточки проставила в углу номер от 1 до 999.
В нашей истории бейджик — это переменная. Точнее, у нас уже есть 999 переменных, которые мы получили от типографии. У каждого бейджа есть номер, поэтому мы легко отличим первый бейдж от сотого по его номеру на обратной стороне.
Присваивание значения
В самом начале корпоратива все карточки пустые — на них нет имён и можно там написать всё что угодно. С точки зрения переменной это означает, что у неё есть пока только имя (номер бейджика), но нет значения.
Когда приходит очередной сотрудник на корпоратив, он берёт очередной бейдж, например № 95, и пишет на нём маркером своё имя — Алексей, а организаторы помечают, что девяносто пятый бейдж у Алексея. В этот момент переменная № 95 получает значение «Алексей». С этого момента все — и организаторы, и коллеги — знают, что перед ними Алексей, потому что так написано в переменной (на бейджике).
«Алексей» — это значение переменной № 95. Это значение можно всегда посмотреть в табличке организаторов на 95-й строчке. В программировании это называется присваиванием, когда мы в переменную записываем какое-то значение и с этого момента оно там хранится.
Чтение переменной
Когда коллеги видят этого человека на корпоративе, они понимают, что перед ними — Алексей, потому что так написано на его бейдже. Это называется чтением значения переменной, когда другие узнают, что лежит внутри переменной (в нашем случае — бейджа № 95).
Если организаторам понадобится узнать, кто взял бейдж № 95, они посмотрят по своей таблице и тоже увидят, что это был Алексей.
Переменную можно считывать сколько угодно раз — внутри всегда будет одно и то же значение, которое в неё записано.
Запись нового значения
Главная ценность переменной в том, что в неё всегда можно записать другое значение. Например, Алексей увидел, что он единственный, кто написал на бейдже полное имя, а остальные написали попроще: Маша, Коля, Женя и Макс. Алексей подошёл к организаторам и попросил их стереть старую надпись и написать новую — «Лёша», и организаторы заменили имя и на бейдже, и в своей таблице.
В программировании это называется «записать в переменную новое значение». У нас осталась та же самая переменная — бейдж № 95, но вместо старого значения «Алексей» в ней уже хранится новое значение «Лёша». Новые значения в любую переменную можно записывать сколько угодно раз.
Зачем нужны переменные
Бейджи на корпоративе были нужны для того, чтобы каждый не запоминал, как зовут тысячу коллег, а мог сразу узнать имя, просто посмотрев на бейдж (посмотреть на бейдж = прочитать значение переменной :-)
В программировании переменные нужны для того же: хранить какие-то данные и делиться ими, когда это понадобится. Например, в переменных хранят результаты вычислений, промежуточные данные расчётов, имена пользователей, базы данных, адреса серверов, пароли и всё, что ещё понадобится программисту. А если в переменную нужно положить новое значение, её просто перезаписывают и отправляют туда новые данные.
А можно в переменную записать что-то совсем другое?
В нашем примере на бейджах все писали имена, но если бы кто-то захотел нарисовать там картину или написать ноты к простой мелодии, у них бы возникли сложности. Всё дело в размере и возможностях бейджа. Для картины нужен бейдж из холста на подрамнике большого размера, а для нот — бейдж в виде специально разлинованной тетради.
С переменными в коде всё то же самое: для разных значений (чисел, строк, букв, картинок или музыки) нужны разные переменные с разными внутренними свойствами. В программировании это называется типами данных. Про них — в следующий раз.