Типы данных. Переменные. Урок 4 курса «Python. Введение в программирование»
Данные и их типы
В реальной жизни мы совершаем различные действия над окружающими нас предметами, или объектами. Мы меняем их свойства, наделяем новыми функциями. По аналогии с этим компьютерные программы также управляют объектами, только виртуальными, цифровыми. Пока не дойдем до уровня объектно-ориентированного программирования, будем называть такие объекты данными.
Очевидно, данные бывают разными. Часто компьютерной программе приходится работать с числами и строками. Так ранее мы работали с числами, выполняя над ними арифметические операции. Операция сложения выполняла изменение первого числа на величину второго, а умножение увеличивало одно число в количество раз, соответствующее второму.
Числа в свою очередь также бывают разными: целыми, вещественными, могут иметь огромное значение или очень длинную дробную часть.
При знакомстве с языком программирования Python мы столкнемся с тремя типами данных:
int
) – положительные и отрицательные целые числа, а также 0 (например, 4, 687, -45, 0).числа с плавающей точкой (тип
float
) – дробные, они же вещественные, числа (например, 1.45, -3.789654, 0.00453). Обратите внимание, для разделения целой и дробной частей используется точка, а не запятая.строки (тип
str
) — набор символов, заключенных в кавычки (например, «ball», «What is your name?», ‘dkfjUUv’, ‘6589’). Кавычки в Python могут быть одинарными или двойными; одиночный символ в кавычках также является строкой, отдельного символьного типа в Питоне нет.
Операции в программировании
Операция – это выполнение каких-либо действий над данными, которые в данном случае именуют операндами. Само действие выполняет оператор – специальный инструмент. Если бы вы выполняли операцию постройки стола, то вашими операндами были бы доска и гвоздь, а оператором – молоток.
Так в математике и программировании символ плюса является оператором операции сложения по отношению к числам. В случае строк этот же оператор выполняет операцию конкатенации
>>> 10.25 + 98.36 108.61 >>> 'Hello' + 'World' 'HelloWorld'
Здесь следует для себя отметить, что то, что делает оператор в операции, зависит не только от него, но и от типов данных, которыми он оперирует. Молоток в случае нападения на вас крокодила перестанет играть роль строительного инструмента. Однако в большинстве случаев операторы не универсальны. Например, знак плюса неприменим, если операндами являются, с одной стороны, число, а с другой – строка.
>>> 1 + 'a' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
Здесь в строке TypeError: unsupported operand type(s) for +: 'int' and 'str'
интерпретатор сообщает, что произошла ошибка типа – неподдерживаемый операнд для типов int
и str
.
Изменение типов данных
Приведенную выше операцию все-таки можно выполнить, если превратить число 1 в строку «1». Для изменения одних типов данных в другие в языке Python предусмотрен ряд встроенных в него функций (что такое функция в принципе, вы узнаете в других уроках). Поскольку мы пока работаем только с тремя типами (
, float
и str
), рассмотрим вызовы соответствующих им функций – int()
, float()
, str()
.
>>> str(1) + 'a' '1a' >>> int('3') + 4 7 >>> float('3.2') + int('2') 5.2 >>> str(4) + str(1.2) '41.2'
Эти функции преобразуют то, что помещается в их скобки соответственно в целое число, вещественное число или строку. Однако преобразовать можно не все:
>>> int('hi') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'hi'
Здесь возникла ошибка значения (ValueError
), так как передан литерал (в данном случае строка с буквенными символами), который нельзя преобразовать к числу с основанием 10.
int
не такая простая:>>> int('101', 2) 5 >>> int('F', 16) 15
Если вы знаете о различных системах счисления, то поймете, что здесь произошло.
Обратим внимание еще на одно. Данные могут называться значениями, а также литералами. Эти три понятия («данные», «значение», «литерал») не обозначают одно и то же, но близки и нередко употребляются как синонимы. Чтобы понять различие между ними, места их употребления, надо изучить программирование глубже.
Переменные
Данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в какую-то ячейку памяти. Но как потом узнать, куда именно? Как впоследствии обращаться к этим данными? Нужно как-то запомнить, пометить соответствующую ячейку.
Раньше, при написании программ на машинном языке, обращение к ячейкам памяти осуществляли с помощью указания их регистров, то есть конкретно сообщали, куда положить данные и откуда их взять. Однако с появлением ассемблеров при обращении к данным стали использовать словесные
Механизм связи между переменными и данными может различаться в зависимости от языка программирования и типов данных. Пока достаточно запомнить, что в программе данные связываются с каким-либо именем и в дальнейшем обращение к ним возможно по этому имени-переменной.
Слово «переменная» обозначает, что сущность может меняться, она непостоянна. Действительно, вы увидите это в дальнейшем, одна и та же переменная может быть связана сначала с одними данными, а потом – с другими. То есть ее значение может меняться, она переменчива.
В программе на языке Python, как и на большинстве других языков, связь между данными и переменными устанавливается с помощью знака
. Такая операция называется присваивание (также говорят «присвоение»). Например, выражение sq = 4
означает, что на объект, представляющий собой число 4, находящееся в определенной области памяти, теперь ссылается переменная sq, и обращаться к этому объекту следует по имени sq.
Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:
Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
Имя переменной должно начинаться с буквы или символа подчеркивания (_), но не с цифры.
Имя переменной не должно содержать пробелы.
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать, то есть написать имя и нажать Enter.
>>> sq = 4 >>> sq 4
Вот более сложный пример работы с переменными в интерактивном режиме:
>>> apples = 100 >>> eat_day = 5 >>> day = 7 >>> apples = apples - eat_day * day >>> apples 65
Здесь фигурируют три переменные: apples, eat_day и day. Каждой из них присваивается свое значение. Выражение apples = apples - eat_day * day
сложное. Сначала выполняется подвыражение, стоящее справа от знака равенства. После этого его результат присваивается переменной apples, в результате чего ее старое значение (100) теряется. В подвыражении apples - eat_day * day
вместо имен переменных на самом деле используются их значения, то есть числа 100, 5 и 7.
Практическая работа
Переменной var_int присвойте значение 10, var_float — значение 8.4, var_str — «No».
Значение, хранимое в переменной var_int, увеличьте в 3.5 раза. Полученный результат свяжите с переменной var_big.
Измените значение, хранимое в переменной var_float, уменьшив его на единицу, результат свяжите с той же переменной.
Разделите var_int на var_float, а затем var_big на var_float.
Измените значение переменной var_str на «NoNoYesYesYes». При формировании нового значения используйте операции конкатенации (
+
) и повторения строки (*
).Выведите значения всех переменных.
Примеры решения и дополнительные уроки в pdf-версии курса
VBA-Урок 6.1. Tипы данных (Variables)
ВВЕРХ❮ ❯
С помощью переменных мы можем записывать все типы информации, такие как: числа, текст, дата и т.д.
Рассмотрим первый пример:
Sub variables() 'Декларируем переменную как целое число Dim my_variable As Integer 'Присваиваем переменной определенное значение my_variable = 12 'Отображаем значение переменной в окне сообщения MsgBox my_variable End Sub
Первая строка кода декларирует переменную:
Dim my_variable As Integer
- — Dim: определение переменной
- — my_variable: имя переменной
- — As: определение типа переменной
- — Integer: тип переменной
В общем, декларирование переменных не является обязательным и код будет работать, однако это настоятельно рекомендуется. Это облегчает работу с ними, их поиск, позволяет решать разного рода проблемы. В принципе, декларирование переменных является хорошей привычкой при программировании.
Тип переменной указывает на природу ее содержания (текст, число, дата и т.д.).
Вторая строка присваивает значение переменной:
my_variable = 12
И наконец третья строка отображает значение переменной в окне сообщения:
MsgBox my_variable
Результат выполнения кода будет следующий:
Название | Тип | Описание | Символ |
Byte | Число | Целое число от 0 до 255 | |
Integer | Число | Целое число от -32’768 до 32’767 | % |
Long | Число | Целое число от — 2’147’483’648 до 2’147’483’647 | & |
Currency | Число | Фиксированное десятичное число между -922’337’203’685’477. 5808 до 922’337’203’685’477.5807 | @ |
Single | Число | Десятичное число с плавающей запятой между -3.402823E38 до 3.402823E38 | ! |
Double | Число | Десятичное число с плавающей запятой между -1.79769313486232D308 до 1.79769313486232D308 | # |
String | Текст | Текст | $ |
Date | Дата | Дата и время | |
Boolean | Булево | True (ПРАВДА) или False (ЛОЖЬ) | |
Object | Объект | Microsoft Object | |
Variant | Другой | Любой вид данных (тип по умолчанию, если переменная не определена) |
Рассмотрим несколько примеров с различными типами переменных:
'Целое число Dim nbInteger As Integer nbInteger = 12345 'Десятичное число Dim nbComma As Single nbComma = 123. 45 'Текст Dim varText As String varText = "moonexcel.com.ua" 'Дата Dim varDate As Date varDate = "24.08.2012" 'Булево значение True/False Dim varBoolean As Boolean varBoolean = True 'Объект (Рабочий лист как тип переменной) Dim varSheet As Worksheet Set varSheet = Sheets("Sheet2") 'Set => присвоение значения для переменной типа "объект" 'Пример использования переменной типа "объект": активирование листа varSheet.Activate
Символы, указанные в таблице, могут использоваться для более краткого декларирования переменных:
Dim example As Integer Dim example%
Эти две записи являются идентичными.
Можно также заставить пользователя декларировать переменные принудительно, прописав команду Option Explicit в начале модуля. В таком случае будет появляться сообщение об ошибке, если было введено незадекларированную переменную.
Статьи по теме:
Тип данных VBA Int / Integer (переменная Dim)
В этой статье
- Тип переменной Integer (Int)
- Тип переменной Long
- Десятичные значения и типы данных Int 9000 4
- Десятичный/двойной тип данных
- Уровень модуля
- Глобальный уровень
- Целое число формата, сохраненное как строка
Целое (Int) Тип переменной
Тип данных VBA Int используется для хранения целых чисел (без десятичных значений). Однако, как мы увидим ниже, целочисленные значения должны попадать в диапазон от -32768 до 32768.
Чтобы объявить переменную Int, вы используете оператор Dim (сокращение от Dimension):
Dim intA as Integer
Затем, чтобы присвоить значение переменной, просто используйте знак равенства:
intA = 30000
Помещение этого в процедуру выглядит так:
Sub IntExample() 'объявить целое число Dim intA как целое число 'заполнить целое число интА = 30000 'показать окно сообщения MsgBox intA End Sub
Если вы запустите приведенный выше код, появится следующее окно сообщения.
Длинный тип переменной
Как упоминалось выше, переменные Int могут хранить только значения от -32768 до 32768. Если вы попытаетесь присвоить значение вне этого диапазона переменной Int, вы получите сообщение об ошибке:
Когда вы нажмете на отладку, код сломается на ‘заполните целочисленную строку , так как целое число не может хранить число выше 50000.
Вместо этого вы можете объявить переменную с Long тип данных:
Dim longA as Long
Long Переменные могут хранить очень длинные типы данных (от -2 147 483 648 до 2 147 483 648).
<<ссылка на статью о длинной переменной>>
Зачем использовать переменные Int вместо переменных Long?
Для длинных переменных требуется больше памяти. Несколько лет назад при написании кода большой проблемой была память, однако сейчас вычислительные технологии значительно улучшились, и маловероятно, что вы столкнетесь с проблемами памяти, вызванными длинными переменными, при написании кода VBA.
Мы рекомендуем всегда использовать переменные Long вместо переменных Int. Мы продолжим это руководство, обсуждая переменные Int, но имейте в виду, что вместо этого вы можете использовать тип переменной Long.
Десятичные значения и целочисленные типы данных
Переменные Int не могут хранить десятичные значения. Если вы передаете десятичное число целым числом, десятичное число будет округлено, чтобы удалить десятичное число.
Следовательно, если вы запустите следующую процедуру:
Sub IntExampleB() 'объявить целое число Dim intA как целое число 'заполнить целое число интА = 3524,12 'показать окно сообщения MsgBox intA End Sub
Вы получите следующий результат (округление вниз):
Однако этот код ниже:
Sub IntExampleB() 'объявить целое число Dim intA как целое число 'заполнить целое число интА = 3524,52 'показать окно сообщения MsgBox intA End Sub
Вернет следующее окно сообщения (с округлением вверх):
Тип данных Decimal/Double
Если вы хотите сохранить десятичный разряд, вам нужно будет объявить переменную, которая допускает десятичные разряды. Вы можете использовать 3 типа данных: Single, Double или Currency.
Dim sngPrice as Single
Dim dblPrice as Double
Dim curPrice as Currency
Тип данных Single будет округлять десятичную точку немного иначе, чем тип данных double и currency, поэтому для точности предпочтительнее использовать double to single . Двойное число может иметь до 12 знаков после запятой, в то время как валюта и одинарное число могут иметь до 4 знаков после запятой.
Для получения дополнительной информации об этих типах данных вы можете посмотреть здесь.
Объявление переменной Int на уровне модуля или на глобальном уровне
В предыдущих примерах мы объявили переменную Int внутри процедуры. Переменные, объявленные в процедуре, могут использоваться только внутри этой процедуры.
Вместо этого вы можете объявить переменные Int на уровне модуля или на глобальном уровне.
Уровень модуля
Переменные уровня модуля объявляются в верхней части модулей кода с помощью инструкции Dim .
Эти переменные могут использоваться с любой процедурой в этом модуле кода.
Кодирование VBA стало проще
Остановить поиск кода VBA в сети. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области программирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Узнать больше
Глобальный уровень
Переменные глобального уровня также объявляются в верхней части модулей кода. Однако вместо оператора Dim используйте оператор Public 9.0038, чтобы указать, что целочисленная переменная доступна для использования в вашем проекте VBA.
Public IntA as Integer
Если вы объявите целое число на уровне модуля, а затем попытаетесь использовать его в другом модуле, произойдет ошибка.
Однако, если бы вы использовали ключевое слово Public для объявления целого числа, ошибка не возникнет, и процедура будет работать нормально.
Преобразование строки в целое число
В некоторых случаях может потребоваться преобразовать число, хранящееся в виде строки, в целочисленное значение.
В ближайшем окне вы заметите, что целочисленное значение идет вправо, указывая число, а строковое значение идет влево, указывая текст.
Convert Int to String
И наоборот, целочисленное значение можно преобразовать в строку.
Для получения дополнительной информации об этих типах данных вы можете посмотреть здесь.
Программирование VBA | Генератор кода работает на вас!
Целое число формата, сохраненное как строка
<<также поговорим о функции Format для назначения форматирования чисел>>
Целочисленная переменная в программировании на C с примерами
Основные понятия C
В этом уроке мы узнаем о целочисленной переменной в до язык программирования. Мы рассмотрим некоторые примеры этого и викторину по нему.
Переменная целочисленного типа
В предыдущем уроке мы узнали о переменных и о том, как они используются для хранения значений в памяти компьютера. Теперь в этом уроке мы узнаем, как объявить переменную в программировании на C, используя целочисленный тип данных.
Итак, первый тип переменной, о котором нам нужно знать, имеет тип int — сокращение от integer . Этот тип переменной используется для хранения целого числа, либо положительного, либо отрицательного (пример: 10, 89, -24 и т. д.). Но если вы попытаетесь сохранить дробное значение (пример: 12.36) в нем, то он будет хранить только целую часть 12, но не десятичную часть 36.
Объем памяти целочисленной переменной составляет 4 байта и диапазон int 9Переменная 0206 находится в диапазоне от -2 147 483 648 до 2 147 483 647.
Синтаксис объявления целочисленной переменной в C
int variable_name;
Здесь int используется для объявления типа данных Integer и имя_переменной имя переменной (вы можете использовать любое имя по вашему выбору, например: a, b, c, alpha и т. д., но помните о соглашениях об именах при объявлении целочисленной переменной) и ; используется для обозначения конца строки (конец строки).
Теперь давайте рассмотрим несколько примеров для лучшего понимания.
Пример 1
Объявить целочисленную переменную со знаком x .
знаковое целое x;
Примечание: В программировании на C нет необходимости писать модификатор типа данных со знаком , поскольку он является модификатором по умолчанию для типа данных int и char , если модификатор не указан.
Пример 2
Объявите целочисленную переменную x , чтобы присвоить ей целочисленное значение 10.
целое число х = 10;
Пример 3
Объявить 3 целочисленные переменные x , y и z в одна линия.
целое число x, y, z;
Пример 4
Объявить 3 целочисленные переменные x , y и z для присвоения целочисленное значение 42, 67 и 85 соответственно в одной строке.
интервал x=42, y=67, z=85;
Пример 5
Объявить целочисленную переменную x и присвоить целочисленное значение 18 во второй строке.
целый х; х = 18;
Пример 6
Объявить целочисленную переменную x и присвоить целочисленное значение 76 и измените его значение на 54 в следующей строке.
инт х = 76; х = 54; // теперь новое значение x равно 54
Пример 7
Объявить короткую целочисленную переменную x и присвоить значение 9432.