Основы программирования на Python
Можно заметить, что все, что мы делаем, мы делаем над чем-то — какими-то предметами или объектами. Мы меняем свойства объектов и их возможности. Программы для компьютеров также манипулируют какими-то объектами (назовем их пока данными).
Очевидно, данные бывают разными. Очень часто компьютерной программе приходится работать с числами и строками. Например, на прошлом уроке мы "манипулировали" числами, выполняя над ними арифметические операции. Можно сказать, что операция сложения выполняла изменение первого числа на величину второго, или умножение увеличивало одно число в количество раз, соответствующее второму.
Числа в свою очередь также бывают разными: целыми, дробными, могут иметь огромное значение или очень длинную дробную часть. При знакомстве с языком программирования Python мы точно столкнемся с тремя типами данных:
Можно сказать, что операция — это выполнение каких-нибудь действий над данными (операндами). Для выполнения конкретных действий требуются специальные инструменты — операторы.

Например, символ "+" по отношению к числам выполняет операцию сложения, а по отношению к строкам — конкатенацию (соединение). Парный знак ** возводит первое число в степень второго.
| Выражение | Результат выполнения |
|---|---|
| 34.907 + 320.65 | 355.55699999999996 |
| "Hi, " + "world :)" | 'Hi, world :)' |
| "Hi, " * 10 | 'Hi, Hi, Hi, Hi, Hi, Hi, Hi, Hi, Hi, Hi, ' |
Что будет, если мы попытаемся выполнить в одном выражении операцию над разными типами данным? Например, сложить целое и дробное число, число и строку. Однозначный ответ дать нельзя: так, при складывании целого числа и числа с плавающей точкой, получается число с плавающей точкой, а если попытаться сложить любое число и строку, то интерпретатор Python выдаст ошибку.
| Выражение | Результат выполнения |
|---|---|
| 1 + 0.65 | 1.6499999999999999 |
| "Hi, " + 15 | O ш и б к а |
Однако, бывают случаи, когда программа получает данные в виде строк, а оперировать должна числами (или наоборот). В таком случае используются специальные функции (особые операторы), позволяющие преобразовать один тип данных в другой. Так функция int() преобразует переданную ей строку (или число с плавающей точкой) в целое, функция str() преобразует переданный ей аргумент в строку, float() - в дробное число.
| Выражение | Результат выполнения |
|---|---|
| int (“56”) | 56 |
| int (4.03) | 4 |
| int (“comp 486”) | O ш и б к а |
| str (56) | '56' |
| str (4.03) | '4.03' |
| float (56) | 56.0 |
| float ("56") | 56.0 |
Данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в память. Но как узнать, куда именно? Как в последствии обращаться к этим данными? Раньше, при написании программ на машинном языке, обращение к ячейкам памяти осуществляли с помощью указания регистров. Но уже с появлением ассемблеров, при обращении к данным стали использовать так называемые переменные. Механизм связи между переменными и данными может различаться в зависимости от языка программирования и типа данных. Пока достаточно запомнить, что данные связываются с каким-либо именем и в дальнейшем обращение к ним возможно по этому имени.
В программе на языке Python связь между данными и переменными устанавливается с помощью знака =. Такая операция называется присваиванием. Например, выражение sq = 4 означает, что на объект (данные) в определенной области памяти ссылается имя sq и обращаться к ним теперь следует по этому имени.

Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать (написать имя и нажать Enter).
Пример работы с переменными в интерактивном режиме:
>>> apples = 100 >>> eat_day = 5 >>> day = 7 >>> apples = apples - eat_day * day >>> apples 65 >>>
>>> var_int = 10 >>> var_float = 8.4 >>> var_str = "No" >>> big_int = var_int * 3.5 >>> var_float = var_float — 1 >>> var_int / var_float 1.3513513513513513 >>> big_int / var_float 4.72972972972973 >>> var_str = var_str * 2 + "Yes" * 3 >>> var_int 10 >>> var_float 7.4 >>> big_int 35.0 >>> var_str 'NoNoYesYesYes' >>>