Данные и их типы
Можно заметить, что все, что мы делаем, мы делаем над чем-то — какими-то предметами или объектами. Мы меняем свойства объектов и их возможности. Программы для компьютеров также манипулируют какими-то объектами (назовем их пока данными).Очевидно, данные бывают разными. Очень часто компьютерной программе приходится работать с числами и строками. Например, на прошлом уроке мы "манипулировали" числами, выполняя над ними арифметические операции. Можно сказать, что операция сложения выполняла изменение первого числа на величину второго, или умножение увеличивало одно число в количество раз, соответствующее второму.
Числа в свою очередь также бывают разными: целыми, дробными, могут иметь огромное значение или очень длинную дробную часть. При знакомстве с языком программирования Python мы точно столкнемся с тремя типами данных:
- целые числа (integer) – положительные и отрицательные целые числа, а также 0 (например, 4, 687, -45, 0).
- числа с плавающей точкой (float point) – дробные числа (например, 1.45, -3.789654, 0.00453). Примечание: разделителем целой и дробной части служит точка, а не запятая.
- строки (string) — набор символов, заключенных в кавычки (например, "ball", "What is your name?", 'dkfjUUv', '6589'). Примечание: кавычки в 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 (“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 и обращаться к ним теперь следует по этому имени.
- Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
- Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
- Имя переменной должно начинаться с буквы или символа подчеркивания (_).
Пример работы с переменными в интерактивном режиме:
>>> apples = 100 >>> eat_day = 5 >>> day = 7 >>> apples = apples - eat_day * day >>> apples 65 >>>
Практическая работа
- Переменной var_int присвойте значение 10, var_float - значение 8.4, var_str - "No".
- Измените значение, хранимое в переменной var_int, увеличив его в 3.5 раза, результат свяжите с переменной big_int.
- Измените значение, хранимое в переменной var_float, уменьшив его на единицу, результат свяжите с той же переменной.
- Разделите var_int на var_float, а затем big_int на var_float. Результат данных выражений не привязывайте ни к каким переменным.
- Измените значение переменной var_str на "NoNoYesYesYes". При формировании нового значения используйте операции конкатенации (+) и повторения строки (*).
- Выведите значения всех переменных.
Результат выполнения практической работы
>>> 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' >>>
Вопросы
- Какие типы данных вы знаете? Опишите их.
- Можно ли преобразовать дробное число в целое? целое в дробное? В каких случаях можно строку преобразовать в число?
- Приведите примеры операций. Для чего предназначена операция присвоения?
- Какие существуют правила и рекомендации для именования переменных?F