понедельник, 7 декабря 2015 г.

Интерактивная консоль Python, понятие переменной, встроенные типы данных

Интерактивный режим, консоль Python


В основном интерпретатор выполняет команды построчно: пишешь строку, нажимаешь Enter, интерпретатор выполняет ее, наблюдаешь результат.
Это очень удобно, когда человек только изучает программирование или тестирует какую-нибудь небольшую часть кода.
Ведь если работать на компилируемом языке, то пришлось бы сначала написать код на исходном языке программирования, затем скомпилировать и уж потом запустить исполняемый файл на выполнение.
Запустить интерактивный режим в OS Windows можно следующими способами. В меню пуск выбрать пункт "Выполнить..." и вписать там команду "python" без кавычек. Также окно "Выполнить", можно запустить по комбинации клавиш "Win+r". Также запуск консоли Python, можно осуществить по пути Меню пуск >> Программы >> Python 2.7 >> Python (command line). Запустится интерпретатор, где сначала выведется информация об интерпретаторе. Далее, последует приглашение к вводу (>>>).
Запустите интерпретатор Питона.
Поскольку никаких команд мы пока не знаем, то будем использовать Питон как калькулятор (возможности языка это позволяют).
2 + 5
3 * (5 - 8)
2.4 + 3.0 / 2
и т.д.

Наберите подобные примеры в интерактивном режиме (в конце каждого нажимайте Enter).
Ответ выдается сразу после нажатия Enter (завершения ввода команды).
Бывает, что в процессе ввода была допущена ошибка или требуется повторить ранее используемую команду. Чтобы не писать строку сначала, в консоли можно прокручивать список команд, используя для этого стрелки на клавиатуре.
В интерактивном режиме, очень удобно проверять на "прочность", небольшие фрагменты программного кода, смотреть реакцию интерпретатора на те или иные команды. Именно интерактивная консоль Python, ощутимо поможет нам в начале обучения, а после и в процессе более серьезной работы.

Переменные


Данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в память. Но как узнать, куда именно? Как в последствии обращаться к этим данными? Раньше, при написании программ на машинном языке, обращение к ячейкам памяти осуществляли с помощью указания регистров. Но уже с появлением ассемблеров, при обращении к данным стали использовать так называемые переменные. Механизм связи между переменными и данными может различаться в зависимости от языка программирования и типа данных. Пока достаточно запомнить, что данные связываются с каким-либо именем и в дальнейшем обращение к ним возможно по этому имени.
В программе на языке Python связь между данными и переменными устанавливается с помощью знака =. Такая операция называется присваиванием. Например, выражение sq = 4 означает, что на объект (данные) в определенной области памяти ссылается имя sq и обращаться к ним теперь следует по этому имени.
Схема операции присваивания значения переменной
Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:
1. Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
2. Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
3. Имя переменной должно начинаться с буквы или символа подчеркивания (_).
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать (написать имя и нажать Enter).
Пример работы с переменными в интерактивном режиме:
>>> apples = 100
>>> eat_day = 5
>>> day = 7
>>> apples = apples - eat_day * day
>>> apples
65
>>>
В переменных, вы будете хранить все результаты в процессе работы программы. Посути, переменная - это некий контейнер, куда вы можете складывать некую информацию, чтобы обратиться к ней  в нужный момент и совершить с ней необходимую операцию.

Типы данных в Python


В Python, существуют такие типы данных, как Числа (дробные и целые); строки; Булевое значение (Истина или ложь); Списки; Кортежи; Словари; файлы; Все это, так называемые встроенные типы данных в Python.

Числа


Числа бывают целыми (integer) и дробными или с плавающим знаком, в питоне разделителем целой и дробной части, выступает символ".", (float).
Объявим две переменные:
>>> a = 3
>>> b = 2.5
Переменная a, будет целочисленной, а b, дробной. Давайте проверим это утверждение. Выполним простейшую математическую операцию с делением на 2 каждой из этих переменных.
>>> a / 2
1
>>> b / 2
1.25
>>>
Если с результатом деления переменной b на 2 все ясно, что произошло с переменной a? Все просто, интерпретатор поделил 3 на 2 и оставил только целую часть Т.Е. 1, так как мы не указали явно, что там фигурируют дробные числа. Как быть в ситуации, если нам необходимо поделить целое число, но результат должен получиться дробным? Про такое явление, как преобразование типов, мы поговорим позже, а сейчас мы можем исправить эту картину следующим образом. Если мы в выражении, хотябы в одном из его чисел укажем его как дробное, все выражение и его результат, тоже станет дробным. Дробное число можно указать как 2.0, или просто "2.". Т.Е. Соответственно a / 2.0 или a / 2. - Вернет нам правильный результат 1.5.
Стандартные математические операторы в Python следующие: +, -, *, /, % (остаток от деления), ** (Возведение в степень).

Строки


Строки в Python - это любой произвольный набор читаемых символов, заключенный в "" или '', строка заключенная в кавычки ничем не отличается от строки заключенной в апострофы. Стоит помнить, что строка в одинарных кавычках или апострофах - это одна строка, которая может разделяться на подстроки исключительно спец.символом, о которых мы поговорим подробнее, когда будем обсуждать форматирование строк. Если мы хотим объявить многострочную переменную, мы берем строки в тройные кавычки """.
>>> a = "Hello dear"
>>> b = 'I am fine'
>>> c = """To be
or not to be"""
>>>
Мы создали 3 строковых переменных, где a и b - одинаковые по структуре, а c - многострочная переменная. Мы помним, что нам стоит всего лишь ввести имя переменной и мы увидим значение, которое в ней храниться.
>>> a
'Hello dear'
>>> b
'I am fine'
>>> c
'To be\nor not to be'
>>>
А! Что случилось с значением переменной c? Где там наших две строки? Мало того, что это одна строка, так еще в нее вкралось какое-то \n. Я говорил про спец символ, который обозначает перевод строки, так вот \n и есть этот символ. Почему так происходит? Насамом деле, только в консоли мы можем вводить одно имя переменной и видеть ее значение, причем это значение будет включать в себя все спец.символы и будет не форматированным. Для правильного вывода данных, мы должны перед именем переменной, использовать оператор print.
>>> print c
To be
or not to be
>>>
А вот теперь все стало на свои места. А значит что? Всегда, когда мы хотим вывести значение какой-то переменной, мы должны использовать оператор print.
Учтите, что a = 3 и a = '3' - это разные типы переменных! Первая - число, а вторая - строка. Вы не можете помножить строку на строку, хотя это было бы забавно. Но вы можете помножить строку на какое-то число и тогда строка будет выведена на экран то количество раз, на сколько вы ее умножите.

Списки


Список (массив) - это композиция Нного количества разных данных, собранных под одной переменной. Впринципе слово список, хорошо отображает суть этого явления. Представим, что у нас есть некие данные, которые мы хотим сохранить в одной переменной, но нам будет необходимо обращаться к каждому элементу отдельно, сортировать или перебирать их. Тут нам на помощь приходит список. Он объявляется следующим образом:
>>> a = []
>>>
Между квадратными скобочками через запятую, мы присваиваем необходимые нам данные.
>>> a = [1, 'Hello', 24.0]
>>>
Как видите, в списке мы можем хранить данные различных типов. Чтобы обратиться к определенному элементу, мы вызовем его порядковый номер или, как говорить правильно, индекс. Для этого после имени переменной без пробела, в квадратных скобочках [], мы укажем порядковый номер элемента, который нам необходим. Внимание! Нужно помнить, что нумерация элементов в Python, начинается с нуля Т.Е. элемент под индексом 0 - это первый в списке элемент.
>>> a[0]
1
>>> a[1]
'Hello'
>>> a[2]
24.0
>>>
Списки в Python, обладают очень большой гибкостью и их изучению, будет отведена отдельная тема, но как пример взаимодействия со списком, мы можем рассмотреть команду (функцию), которая вернет нам значение длинны списка Т.Е. Вернет число равное количеству элементов в списке. Функция len(), где между круглыми скобочками, мы помещаем список или имя переменной, где последний храниться.
>>> len(a)
3
>>>
Как видим, функция len(), вернула нам 3. Действительно, в этом списке у нас 3 элемента.

Кортежи


Кортежи очень похожи на списки и объявляются в круглых скобочках (), после знака присваивания =.
>>> a = (1, 'Hello', 24.0)
>>>
Также мы можем вызывать элементы по индексу, также можем применить функцию len(), чтобы узнать размер кортежа. В чем разница? На текущем уровне, разницы никакой. Список является изменяемым объектом, а кортеж нет, но про изменяемость и неизменяемость, мы поговорим в рамках следующей темы.

Словари


Словарь - это еще один вариант списка, да простят меня программисты за такое сравнение. В словаре мы сами назначаем индексы, так называемые ключи, для значений, причем ключ может быть как строчным так и числовым. Пара ключ и значение, разделяются символом ":", а сами пары, разделяются символом ",". Содержимое словаря, вписывается между фигурными скобочками {}.
>>> a = {"name": "Vasya", "lastname": "Pupkin"}
>>>
Также как мы обращались к элементу по индексу в списке или кортеже, также мы обращаемся к элементу по ключу.
>>> a["name"]
'Vasya"
>>> a["lastname"]
'Pupkin'
>>>
Как видите, мы сами назначили удобные для нас названия ключей, по которым мы можем обращаться к необходимым значениям. Словари, как и списки, мощнейший инструмент хранения и взаимодействия с данными. На возможности словарей, мы тоже потратим не один час увлекательных разбирательств.

Комментариев нет:

Отправить комментарий