(Python) Переменные. Вывод, ввод, присваивание


Переменные

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

Слово "переменная" говорит нам о том, что ее значение может меняться в ходе выполнения программы.  Имя переменной называют идентификатором (от слова идентифицировать - отличать один объект от другого).

Прежде, чем давать имена переменным, необходимо ЗАПОМНИТЬ несложные правила:

  1. в именах переменных можно использовать латинские буквы a...zA...Z (строчные и прописные буквы различаются);
  2. можно использовать цифры и знак подчеркивания _ ;
  3. нельзя начинать имя переменной с цифры!;
  4. нельзя использовать пробелы, знаки препинаний и символы арифметических операций;
  5. для лучшего понимания программы и облегчения разработки желательно, чтобы вы давали "говорящие" имена переменным.


Последнее правило необязательное, но очень желательное. Использование однобуквенных переменных усложняет работу разработчику, так как приходится держать в голове, за что отвечает какая переменная. 
А если использовать "говорящие" переменные, то само название будет говорить, что мы в ней храним.
Например, если нам необходимо хранить какое-либо имя, то мы можем сохранить имя в переменной a, либо же в переменный name. Последний вариант предпочтительнее.

Значение переменной

Переменная хранит в себе только одно значение. Если записать в нее другое значение, то старое "стирается".
В языке Python при изменении значения переменной выделяется новая область памяти, а старая область памяти уже недоступна и будет освобождена так называемым сборщиком мусора - специальной программой, которая управляет памятью

Сохранить в переменной какое-то значение можно двумя способами:
1) с помощью оператора присваивания (=). Например,
name = "Petr"
Тем самым связали переменную name со значением Petr. Оператор присваивания работает справа налево: берется значение, которое стоит справа от знака "=" и записывается в переменную стоящую слева от знака "="

2) ввести нужное значение с клавиатуры с использованием встроенной функции (команды) input() (от английского input - ввод), Например,
name = input()
В последнем случае, при выполнении команды, программа будет ожидать ввода пользователем какого-либо значения (какого конкретно мы не можем знать, зависит от желания пользователя) и после нажатия клавиши Enter, введенная символьная строка запишется в переменную name.
 
Оператор - это команда языка программирования.

Чтобы вывести значение переменной на экран, в операторе вывода print() просто указываем имя переменной без кавычек. Например, программа
name = "Petr"
print(name)  
# выведет на экран Petr


Надо запомнить!
  1. Задать значение переменной можно с помощью оператора ввода (name = input()) или оператора присваивания:
    name = "Petr".
  2. Вывести значение переменной можно просто указав в операторе вывода имя переменной без кавычек:
    print(name)

Тип переменной

Кроме имени и значения, каждая переменная имеет свой тип. Тип показывает, какие значения и какие операции можно выполнять с данной переменной. Кроме этого, тип переменной показывает, как хранить эти переменные в памяти. 
Типы, которые мы будем использовать чаще всего:
str - символьная строка (от англ. string - строка);
int - целое число (от англ. integer - целый);
float - вещественное число (от англ. float - с плавающей запятой).

В отличии от других популярных языков программирования (С++, Java) транслятор Python автоматически определяет тип переменной по тому значению, которое ей присваивается.

 

Ввод с клавиатуры числовых значений

Для ввода данных с клавиатуры мы изучили оператор input(), но данный оператор позволяет вводить только символьные строки. Нам необходимо указать, что введенные строки необходимо преобразовать в число. Для этого нам понадобится встроенная функция int() - для преобразования в целое число, или float() - для преобразования в вещественное число (про вещественные числа будем подробнее говорить позже).
 
Пример
a = int(input())    # с клавиатуры вводится целое число 
                    # и записывается в переменную a
b = float(input())  # с клавиатуры вводится вещественное число 
                    # и записывается в переменную b

В программе выше, числа необходимо вводить по одному в строке, так как после ввода первого значения необходимо нажать Enter, чтобы записать число в переменную.

Иногда необходимо вводить данные в одной строке. Для того, чтобы запомнить данные, которые вводятся в одной строке, входную строку необходимо разделить на значения по пробелам, с использованием функции split() (от англ. split - расщепить).

Например, если в одной строке находятся два целых числа, то их можно ввести таким образом:
a, b = input().split()  # Используем множественное присваивание
a = int(a)              # преобразуем строку в целое число
b = int(b)

Можно все эти действия заменить одной строкой:
a, b = map(int, input().split())
функция map() применяет другую функцию (указанную первой в скобках - int) к каждой части, полученной после разбиения введенной строки на числа по пробелам.
Количество переменных слева должно  строго совпадать с количеством введенных чисел.

 
Надо запомнить
  1. Тип переменной в Python определяется автоматически.
  2. Чтобы ввести числа по одному в строке используем
    a = int(input()) - для целого числа
    и
    b = float(input()) - для вещественного числа.
  3. Если все числа задаются в одной строке, то необходимо разбить строку на подстроки, используя split(), а затем каждую подстроку преобразовать в целое число (используя map(int, ...). 
    Например, для двух целых чисел, ввод данных необходимо оформить следующим образом:
    a, b = map(int, input().split()).

ТРЕНИРУЙТЕСЬ БОЛЬШЕ И У ВАС ВСЕ ПОЛУЧИТСЯ!