Переменные имя значение тип: тип, имя, значение (9 класс) Информатика и ИКТ
Содержание
тип, имя, значение (9 класс) Информатика и ИКТ
В языках Visual Basic и Gambas и в языке OpenOffice.org Basic переменные используются для хранения и обработки данных в программах.
Переменные задаются именами, определяющими области оперативной памяти компьютера, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и т. д.).
Переменная в программе представлена именем и служит для обращения к данным определенного типа, конкретное значение которых хранится в ячейке оперативной памяти.
Тип переменной.
Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов Byte, Short, Integer, Long, Single, Double являются числа, логического типа Boolean — значения «истина» (True) или «ложь» (False), строкового типа String — последовательности символов. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Данные различных типов требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов).
Имя переменной.
Имена переменных определяют области оперативной памяти компьютера, в которых хранятся значения переменных. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. В рассматриваемых языках имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т. д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 1023, однако для удобства обычно ограничиваются несколькими символами.
Объявление переменных.
Необходимо объявлять переменные, для того чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе.
Для объявления переменной используется оператор объявления переменных Dim. С помощью одного оператора можно объявить сразу несколько переменных, например: Dim А As Byte, В As Short, С As Single, D As String, G As Boolean
Присваивание переменным значений.
Задать или изменить значение переменной можно с помощью оператора присваивания. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства.
Например:
А = 255
B = — 32768
C = 3.14
D = «информатика»
G = True
Значение переменной может быть задано числом, строкой или логическим значением, а также может быть представлено с помощью арифметического, строкового или логического выражения.
Проанализируем процесс выполнения программы компьютером (для определенности записанной на языке Visual Basic). После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек:
- для целой неотрицательной переменной А одну ячейку;
- для целочисленной переменной B две ячейки;
- для переменной одинарной точности С четыре ячейки;
- для строковой переменной C по две ячейки на символ;
- для логической переменной G две ячейки.
Таким образом, в памяти для хранения значений переменных будет отведена 31 ячейка, например, ячейки с 1–й по 31-ю.
Контрольные вопросы:
- В чем состоит разница между типом, именем и значением переменной?
- Какие основные типы переменных используются в языке программирования Visual Basic 2005? Gambas? OpenOffice.org Basic?
- Почему рекомендуется объявлять переменные перед их использованием в программе?
Задания:
- Определить количество ячеек оперативной памяти, необходимое для хранения значений переменных первых семи типов языка Visual Basic, перечисленных в первой таблице.
(Смотрим на столбец «Занимаемая память». Сколько написано байт – столько будет и ячеек памяти.)
Содержание
Информатика и ИКТ — 01. Переменная
Данные, обрабатываемые программой, могут быть:
- константами (их значение не меняется в процессе выполнения программы), например, 2; 1.236; pi
- переменными (значение которых может изменяться).
В языке Pascal константы создаются с помощью объявления констант. Оно выглядит следующим образом:
const имя = значение; например, const g = 9.81;
Переменная — это именованная область памяти для хранения данных, которые могут изменяться в процессе работы программы.
Каждая переменная характеризуется своим именем (идентификатором), типом и значением.
Имя переменной — это последовательность букв и цифр (иногда, еще некоторых символов), однозначно указывающая на переменную. В языке Pascal имя переменной может включать латинские буквы, цифры и знак подчеркивания, причем заглавные и строчные буквы не различаются (то есть WEIGHT, weight и WeiGhT считаются одним и тем же именем). Имя не может начинаться с цифры.
Тип переменной определяет диапазон значений, которые может принимать переменная, и допустимые над этими значениями действия. В языке Pascal есть следующие встроенные типы данных:
- вещественные (действительные) — принимающие действительные числовые значения; к ним относятся real, single, double и extended, отличающиеся точностью.
- целые — для представления целых чисел: integer и longint.
- логический — boolean (допускает только два значения: false — ложь и true — истина).
- символьный — char (значение — любой символ используемой кодовой таблицы).
- и некоторые другие.
Переменная в языке Pascal создается с помощью объявления переменных:
var имена : тип; например, var a, b: real; k: integer;
Чтобы переменная получила значение или изменила его, используется оператор (команда) присваивания:
имя_переменной := выражение; например, a := (b + c) / 2;
Заметьте: при выполнении операции присваивания старое значение переменной теряется безвозвратно. Рассмотрим, как меняются значения переменных при выполнении следующей последовательности команд:
Переменные: имя, значение, тип
– это область оперативной памяти компьютера, которая может хранить данные во время работы программы.
Переменная имеет:
- имя,
- значение и
- тип
Имя переменной (идентификатор):
- начинается с буквы,
- содержит буквы (лучше лат) и цифры,
- длина имени не должна превышать 255 символов,
- нельзя использовать зарезервированные слова,
- не должно содержать пробелов и специальных символов.
Например, san3, rt, dav, intA, strA
Тип переменной определяется по типам данных, которые могут быть значениями переменной.
Тип переменной |
Возможные значения |
Объем занимаемой памяти |
Byte |
Целые числа от 0 до 255 |
1 байт |
Integer |
Целые числа от -32768 до 32767 |
2 байта |
Long |
Целые числа двойной длины |
4 байта |
Single |
Десятичные числа одинарной точности от 1,401298Е-35 до 3,4022823Е38 |
4 байта |
Double |
Десятичные числа двойной точности от 1,94065645841247Е-324 до 1,79769313486232Е308 |
8 байтов |
Boolean |
Логическое значение True или False |
2 байта |
String |
Строка символов |
1 байт на каждый символ |
Currency |
Число в денежном формате |
8 байтов |
Date |
Дата от 1 января 100г. до 31декабря 9999г. |
8 байтов |
Object |
Ссылки на любой объект |
4 байта |
Variant |
Любые значения |
>=16 байтов |
Над различными данными допустимы различные операции.
Различные типы данных требуют для хранения разное количество ячеек.
В программе, прежде чем использовать переменную, ее надо объявить.
В языке Visual Basic для описания переменных используются специальные операторы:
Dim Имя Переменной As ТипПеременной
Оператор Dim может быть записан на следующей строке после заголовка любой процедуры или в самом начале программного кода в разделе, который называется General. Если записать оператор Dim внутри какой — нибудь процедуры, эта переменная будет известна только в этой процедуре и ее значение будет теряться при окончании работы этой процедуры.
Например:
Dim intЧисло As Integer, Строка As String,
где переменная intЧисло — переменная целого типа, может принимать значения от -32768 до 32767,
переменная Строка — переменная строкового типа.
Dim strA(1 To 33) As String
— объявление строкового массива, содержащего 33 элемента.
Внимание! Переменная не объявленного типа считается переменной универсального типа Variant и для ее хранения отводится в памяти максимальное количество байт (16), что приводит к неэффективному использованию памяти и замедлению работы программы.
Переменные, значения которых не меняются в процессе выполнения программы, называются константами.
Const ИмяКонстанты [As Тип] = ЗначениеКонстанты
Например:
Const Pi As Single=3,14
Переменная может получить или изменить значение с помощью оператора присваивания:
[Let] ИмяПеременной = Выражение
Например,
Определить, какие значения получат переменные после выполнения программы:
Dim Example As Single, A As Integer, B As Byte, C As Integer
Private Sub Command1_Click()
Example = 5,8
a = 5
b = 7
c = a+b
a = 100
End Sub
шаги |
a |
b |
c |
Example |
1 |
- |
- |
- |
5,8 |
2 |
5 |
- |
- |
- |
3 |
- |
7 |
- |
- |
4 |
- |
- |
12 |
- |
5 |
100 |
- |
- |
- |
Итак, в конце выполнения программы значения переменных: a=100, b=7, c=12, Example=5,8
Задание
- Объявите в проекте переменные типов Byte, Single, String, Integer, Boolean.
- Присвойте им произвольные значения.
- Выведите значения переменных на форму.
о переменных — PowerShell | Microsoft Docs
-
- Чтение занимает 8 мин
В этой статье
Краткое описание
Описывает, как переменные хранят значения, которые можно использовать в PowerShell.
Подробное описание
Все типы значений можно хранить в переменных PowerShell. Например, можно сохранить результаты команд и сохранить элементы, используемые в командах и выражениях, таких как имена, пути, параметры и значения.
Переменная — это единица памяти, в которой хранятся значения. В PowerShell переменные представлены текстовыми строками, которые начинаются со знака доллара ( $
), например $a
, $process
или $my_var
.
Имена переменных не учитывают регистр и могут содержать пробелы и специальные символы. Однако имена переменных, которые содержат специальные символы и пробелы, трудно использовать, поэтому их следует избегать. Дополнительные сведения см. в разделе имена переменных, которые содержат специальные символы.
В PowerShell существует несколько различных типов переменных.
Пользовательские переменные: созданные пользователем переменные создаются и обслуживаются пользователем. По умолчанию переменные, создаваемые в командной строке PowerShell, существуют только в том случае, если открыто окно PowerShell. При закрытии окон PowerShell переменные удаляются. Чтобы сохранить переменную, добавьте ее в профиль PowerShell. Кроме того, можно создавать переменные в скриптах с глобальной областью, сценарием или локальными областями.
Автоматические переменные: автоматические переменные хранят состояние PowerShell. Эти переменные создаются с помощью PowerShell, а PowerShell изменяет их значения в соответствии с требованиями, чтобы поддерживать их точность. Пользователи не могут изменять значения этих переменных. Например,
$PSHOME
переменная хранит путь к каталогу установки PowerShell.Дополнительные сведения, список и описание автоматических переменных см. в разделе about_Automatic_Variables.
Привилегированные переменные. переменные предпочтений сохраняют настройки пользователя для PowerShell. Эти переменные создаются с помощью PowerShell и заполняются значениями по умолчанию. Пользователи могут изменять значения этих переменных. Например,
$MaximumHistoryCount
переменная определяет максимальное количество записей в журнале сеанса.Дополнительные сведения, список и описание переменных предпочтений см. в разделе about_Preference_Variables.
Работа с переменными
Чтобы создать новую переменную, используйте инструкцию присваивания, чтобы присвоить значение переменной. Не нужно объявлять переменную перед ее использованием. По умолчанию все переменные имеют значение $null
.
Чтобы получить список всех переменных в сеансе PowerShell, введите Get-Variable
. Имена переменных отображаются без знака доллара ( $
), который используется для ссылки на переменные.
Пример:
$MyVariable = 1, 2, 3
$Path = "C:\Windows\System32"
Переменные удобно использовать для хранения результатов команд.
Пример:
$Processes = Get-Process
$Today = (Get-Date).DateTime
Чтобы отобразить значение переменной, введите имя переменной, перед которым следует знак доллара ( $
).
Пример:
$MyVariable
1
2
3
$Today
Tuesday, September 3, 2019 09:46:46
Чтобы изменить значение переменной, присвойте переменной новое значение.
В следующих примерах показано значение $MyVariable
переменной, изменяется значение переменной, а затем отображается новое значение.
$MyVariable = 1, 2, 3
$MyVariable
1
2
3
$MyVariable = "The green cat."
$MyVariable
The green cat.
Чтобы удалить значение переменной, используйте Clear-Variable
командлет или измените значение на $null
.
Clear-Variable -Name MyVariable
$MyVariable = $null
Чтобы удалить переменную, используйте Remove-Variable или Remove-Item.
Remove-Variable -Name MyVariable
Remove-Item -Path Variable:\MyVariable
Можно также присвоить значения нескольким переменным с помощью одной инструкции.
В следующих примерах одно и то же значение присваивается нескольким переменным:
$a = $b = $c = 0
В следующем примере несколько значений присваивается нескольким переменным.
$i,$j,$k = 10, "red", $true # $i is 10, $j is "red", $k is True
$i,$j = 10, "red", $true # $i is 10, $j is [object[]], Length 2
Более подробные сведения см. в разделе назначение нескольких переменных в about_Assignment_Operators.
Типы переменных
В переменную можно хранить любой тип объекта, включая целые числа, строки, массивы и хэш-таблицы. И — объекты, представляющие процессы, службы, журналы событий и компьютеры.
Переменные PowerShell слабо типизированы, а это означает, что они не ограничиваются определенным типом объекта. Одна переменная может даже содержать коллекцию или массив различных типов объектов в одно и то же время.
Тип данных переменной определяется типами .NET значений этой переменной. Чтобы просмотреть тип объекта переменной, используйте Get-Member.
Пример:
$a = 12 # System.Int32
$a = "Word" # System.String
$a = 12, "Word" # array of System.Int32, System.String
$a = Get-ChildItem C:\Windows # FileInfo and DirectoryInfo types
Можно использовать атрибут типа и нотацию приведения, чтобы гарантировать, что переменная может содержать только определенные типы объектов или объекты, которые могут быть преобразованы в этот тип. При попытке присвоить значение другому типу PowerShell пытается преобразовать значение в его тип. Если тип не может быть преобразован, инструкция присваивания завершается ошибкой.
Чтобы использовать нотацию CAST, введите имя типа, заключенное в квадратные скобки, перед именем переменной (в левой части оператора присваивания). В следующем примере создается $number
переменная, которая может содержать только целые числа, $words
переменную, которая может содержать только строки, и $dates
переменную, которая может содержать только объекты DateTime .
[int]$number = 8
$number = "12345" # The string is converted to an integer.
$number = "Hello"
Cannot convert value "Hello" to type "System.Int32". Error: "Input string was
not in a correct format."
At line:1 char:1
+ $number = "Hello"
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : MetadataError: (:) [],
ArgumentTransformationMetadataException
+ FullyQualifiedErrorId : RuntimeException
[string]$words = "Hello"
$words = 2 # The integer is converted to a string.
$words += 10 # The plus (+) sign concatenates the strings.
$words
210
[datetime] $dates = "09/12/91" # The string is converted to a DateTime object.
$dates
Thursday, September 12, 1991 00:00:00
$dates = 10 # The integer is converted to a DateTime object.
$dates
Monday, January 1, 0001 00:00:00
Использование переменных в командах и выражениях
Чтобы использовать переменную в команде или выражении, введите имя переменной, перед которым следует знак доллара ( $
).
Если имя переменной и знак доллара не заключены в кавычки или заключены в двойные кавычки ( "
), значение переменной используется в команде или выражении.
Если имя переменной и знак доллара заключены в одинарные кавычки ( '
), в выражении используется имя переменной.
Дополнительные сведения об использовании кавычек в PowerShell см. в разделе about_Quoting_Rules.
В этом примере получается значение $PROFILE
переменной, которая является путем к файлу профиля пользователя PowerShell в консоли PowerShell.
$PROFILE
C:\Users\User01\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
В этом примере показаны две команды, которые могут открыть профиль PowerShell в notepad.exe. В примере с символами двойной кавычки ( "
) используется значение переменной.
notepad $PROFILE
notepad "$PROFILE"
В следующих примерах используются одиночные '
кавычки (), которые обрабатывают переменную как литеральный текст.
'$PROFILE'
$PROFILE
'Use the $PROFILE variable.'
Use the $PROFILE variable.
Имена переменных, содержащие специальные символы
Имена переменных начинаются с символа доллара ( $
) и могут содержать буквенно-цифровые символы и специальные символы. Длина имени переменной ограничена только доступной памятью.
Рекомендуется, чтобы имена переменных включали только буквенно-цифровые символы и символ подчеркивания ( _
). Имена переменных, содержащие пробелы и другие специальные символы, трудно использовать, поэтому их следует избегать.
Буквенно-цифровые имена переменных могут содержать следующие символы:
- Символы Юникода из следующих категорий: Lu, LL, lt, LM, with или ND.
- Символ подчеркивания (
_
). - Символ вопросительного
?
знака ().
В следующем списке содержатся описания категорий Юникода. Дополнительные сведения см. в разделе UnicodeCategory.
- Lu — упперкаселеттер
- LL -ловеркаселеттер
- Lt — титлекаселеттер
- LM -модифиерлеттер
- Осерлеттер
- ND -деЦималдигитнумбер
Чтобы создать или отобразить имя переменной, содержащей пробелы или специальные символы, заключите имя переменной в символы фигурных скобок ( {}
). $_
, которые содержат буквенно-цифровые и специальные символы. Дополнительные сведения см. в разделе about_Automatic_Variables.
Например, следующая команда создает переменную с именем save-items
. Фигурные скобки ( {}
) необходимы, так как имя переменной включает -
Специальный символ дефис ().
${save-items} = "a", "b", "c"
${save-items}
a
b
c
Следующая команда возвращает дочерние элементы в каталоге, представленном ProgramFiles(x86)
переменной среды.
Get-ChildItem ${env:ProgramFiles(x86)}
Чтобы сослаться на имя переменной, включающую фигурные скобки, заключите имя переменной в фигурные скобки и используйте символ обратной кавычки для экранирования фигурных скобок. Например, чтобы создать переменную с именем this{value}is
Type:
${this`{value`}is} = "This variable name uses braces and backticks."
${this`{value`}is}
This variable name uses braces and backticks.
Переменные и область
По умолчанию переменные доступны только в области, в которой они созданы.
Например, переменная, созданная в функции, доступна только внутри функции. Переменная, создаваемая в скрипте, доступна только внутри скрипта. Если вы помещаете скрипт в точку, переменная добавляется в текущую область. Дополнительные сведения см. в разделе about_Scopes.
С помощью модификатора области можно изменить область действия по умолчанию для переменной. Следующее выражение создает переменную с именем Computers
. Переменная имеет глобальную область, даже если она создается в скрипте или функции.
$Global:Computers = "Server01"
Для любого скрипта или команды, выполняемой вне сеанса, необходим Using
Модификатор области для внедрения значений переменных из области вызывающего сеанса, чтобы код сеанса мог получить к ним доступ.
Дополнительные сведения см. в разделе about_Remote_Variables.
Сохранение переменных
Создаваемые переменные доступны только в том сеансе, в котором они были созданы. При закрытии сеанса они теряются.
Чтобы создать переменную в каждом запущенном сеансе PowerShell, добавьте переменную в профиль PowerShell.
Например, чтобы изменить значение $VerbosePreference
переменной в каждом сеансе PowerShell, добавьте следующую команду в профиль PowerShell.
$VerbosePreference = "Continue"
Эту команду можно добавить в профиль PowerShell, открыв $PROFILE
файл в текстовом редакторе, например notepad.exe. Дополнительные сведения о профилях PowerShell см. в разделе about_Profiles.
Переменная: диск
Поставщик переменных PowerShell создает Variable:
диск, который выглядит и действует как диск файловой системы, но содержит переменные в сеансе и их значения.
Чтобы перейти на Variable:
диск, используйте следующую команду:
Set-Location Variable:
Чтобы получить список элементов и переменных на Variable:
диске, используйте Get-Item
Get-ChildItem
командлеты или.
Get-ChildItem Variable:
Чтобы получить значение определенной переменной, используйте нотацию файловой системы, чтобы указать имя диска и имя переменной. Например, чтобы получить $PSCulture
автоматическую переменную, используйте следующую команду.
Get-Item Variable:\PSCulture
Name Value
---- -----
PSCulture en-US
Чтобы просмотреть дополнительные сведения о Variable:
диске и поставщике переменных PowerShell, введите:
Get-Help Variable
Синтаксис переменных с путями поставщика
Путь к поставщику можно добавить с помощью символа доллара ( $
) и получить доступ к содержимому любого поставщика, реализующего интерфейс иконтенткмдлетпровидер .
Следующие встроенные поставщики PowerShell поддерживают эту нотацию:
Командлеты переменных
PowerShell включает набор командлетов, предназначенных для управления переменными.
Чтобы получить список командлетов, введите:
Get-Command -Noun Variable
Чтобы получить справку по конкретному командлету, введите:
Get-Help <cmdlet-name>
Имя командлета | Описание |
---|---|
Clear-Variable | Удаляет значение переменной. |
Get-Variable | Получает переменные в текущей консоли. |
New-Variable | Создает новую переменную. |
Remove-Variable | Удаляет переменную и ее значение. |
Set-Variable | Изменяет значение переменной. |
См. также раздел
about_Automatic_Variables
about_Environment_Variables
about_Preference_Variables
about_Profiles
about_Quoting_Rules
about_Scopes
about_Remote_Variables
Переменная в программировании (тип, имя, значение)
В алгоритмических языках программирования переменные играют важнейшую роль. Они предназначены для хранения и обработки данных в программах. Мы знаем, что в математике переменные – данные, которые меняют свои значения.
В программировании переменнаязадается именем, определяющим область оперативной памяти компьютера, куда во время работы программы можно занести и хранить в закодированном виде некоторое значение (целое или вещественное число, последовательность символов, логическое значение), которым при необходимости можно пользоваться и которое можно изменять. Таким образом, переменную можно представить себе как ящик с какими-либо данными, на котором написано его название. Основными характеристиками переменной являются:
· Имя — переменные задаются именами, определяющими область памяти, в которой хранится значение переменной. Имя любой переменной уникально и не может изменяться в процессе выполнения программы. Имя переменной должно обязательно начинаться с буквы. Например: А, MAX, t1
· Тип – тип переменной определяется типом данных, которые могут быть значениями переменных.
· Значение — значениями переменных могут быть данные различных типов (целое или вещественное число, последовательность символов, логическое значение и т.д.). Например: 5, -3.14 (запятая в десятичных дробях заменяется точкой), «результат» (текст — это любой набор знаков, взятый в кавычки).
PЗнаете ли вы
Тип переменной определяет размер области памяти для хранения переменной и какие операции допустимы с этой переменной (например, над числовыми переменными возможны арифметические операции, над строковыми – операции преобразования символьных строк, над логическими – логические операции).
Типы переменных
Тип переменной | Возможные значения | Объем занимаемой памяти | Обозначение в QBasic | Обозначение в Visual Basic |
Числовая целого типа | Целые числа от
-32768 до 32767 | 2 байта | А% | intA |
Числовая вещественного типа | Десятичные числа одинарной точности | 4 байта | А | sngA |
Десятичные числа двойной точности | 8 байтов | А! | dblA | |
Символьная | Строка символов | 1 байт на каждый символ | А$ | strA |
Логическая | Логическое значение True или False
| 2 байта | blnA |
«4. Компьютерная программа может управлять работой компьютера, если она находится
m на гибком диске | m на CD-ROM |
m в оперативной памяти | m на жестком диске |
«5. Найдите соответствие, выбрав свойство алгоритма из списка:
Четкое разделение шагов и их последовательное выполнение | 1. определенность | |
Возможность получения искомого результата при решении всего класса задач данного типа для любых допустимых исходных данных | 2. результативность | |
Однозначное получение результата при одних и тех же исходных данных | 3. понятность | |
Получение за конечное число шагов результата, определенного постановкой задачи | 4. массовость | |
Алгоритм должен включать только те команды, которые входят в систему команд исполнителя. | 5. дискретность |
Операция присваивания
Свое значение переменная может получить с помощью:
· операции ввода. Записывается она, например, так:
Ввод «Введите стороны треугольника» а, b, c.
· операции присваивания. Записывается она, например, так:
x := a(запись означает, что в что в ячейку памяти, выделенную для переменной х компьютер должен записать значение, взятое из переменной а).
y :=3 * sin(x) + b2(компьютер воспринимает эту запись как приказ — «вычислить значение выражения 3 * sin(x) + b2 и поместить это значение в ячейку памяти, отведенную для переменной y»).
z : = 5.1; R : = ‘КОЛЯ’ (операция позволяет присваивать переменной конкретное значение. Эти записи означают, что в ячейку памяти, выделенную для z, компьютер должен записать число 5.1, а в ячейку для R — указанные четыре буквы).
Что важно знать для команды присваивания:
· если переменной не присвоено значение, то она остается неопределенной и ЭВМ присваивает ей, как правило, значение равное 0;
· значение переменной сохраняется до присваивания этой переменной нового значения;
· новое значение переменной заменяет ее старое значение;
· для проведения обмена значений между двумя переменными необходимо завести третью переменную. Например, поменять значения переменных x и y, если x :=6 y :=5. Заведем третью переменную, например, z и выполним обмен значениями между переменными следующим образом: z :=x; x :=y; y :=z .
Пример.Определим, чему станет, равна величина F, после выполнения следующего ряда присвоений:
Операция присваивания | F:=4 | F:= F *5 | F:= 10+F | F:= F / 3 | F :=F-10 |
Значение переменной F | 4 | 20 | 30 | 10 | 0 |
Ответ: величина F станет равной 0.
«6. Найдите соответствие,
B1 | 1. операция присваивание | |
Числовой | 2. имя переменной | |
B1:=2- COS (0) | 3. тип переменной | |
1 | 4. значение переменной |
выбрав термины в обозначении операции B1:=2-COS(0):
«7. Определите значения переменных A, B, C после выполнения следующего ряда присваиваний: А: = 3; B: = 5; C: = 10; C: = A; A: = B; B: = C.
A=____; B=____; C=____?
«8. Что произойдет после выполнения команды M:=N?
q значения переменных M и N изменят свои значения;
q значение переменной N не забудется;
q значение переменной M станет равно значению переменной N, при этом значение переменной N не изменится;
тип, имя, значение (9 класс). Тип, имя и значение переменной в Visual Basic
В языках Visual Basic и Gambas и в языке OpenOffice.org Basic переменные
используются для хранения и обработки данных в программах.
Переменные задаются именами
, определяющими области оперативной памяти компьютера, в которых хранятся значения
переменных. Значениями переменных могут быть данные
различных типов
(целые или вещественные числа, последовательности символов, логические значения и т. д.).
Переменная
в программе представлена именем и служит для обращения к данным определенного типа, конкретное значение которых хранится в ячейке оперативной памяти.
Тип переменной.
Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов Byte, Short, Integer, Long, Single, Double являются числа, логического типа Boolean — значения «истина» (True) или «ложь» (False), строкового типа String — последовательности символов. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Данные различных типов требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов).
Имя переменной.
Имена переменных определяют области оперативной памяти компьютера, в которых хранятся значения переменных. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. В рассматриваемых языках имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т. д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 1023, однако для удобства обычно ограничиваются несколькими символами.
Объявление переменных.
Необходимо объявлять переменные, для того чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе.
Для объявления переменной используется оператор объявления переменных Dim
. С помощью одного оператора можно объявить сразу несколько переменных, например: Dim А As Byte, В As Short, С As Single, D As String, G As Boolean
Присваивание переменным значений.
Задать или изменить значение переменной можно с помощью оператора присваивания
. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства.
Например:
А = 255
B = — 32768
C = 3.14
D = «информатика»
G = True
Значение переменной может быть задано числом, строкой или логическим значением, а также может быть представлено с помощью арифметического, строкового или логического выражения.
Проанализируем процесс выполнения программы компьютером (для определенности записанной на языке Visual Basic). После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек:
- для целой неотрицательной переменной А одну ячейку;
- для целочисленной переменной B две ячейки;
- для переменной одинарной точности С четыре ячейки;
- для строковой переменной C по две ячейки на символ;
- для логической переменной G две ячейки.
Таким образом, в памяти для хранения значений переменных будет отведена 31 ячейка, например, ячейки с 1–й по 31-ю.
Контрольные вопросы:
- В чем состоит разница между типом, именем и значением переменной?
- Какие основные типы переменных используются в языке программирования Visual Basic 2005? Gambas? OpenOffice.org Basic?
- Почему рекомендуется объявлять переменные перед их использованием в программе?
Задания:
- Определить количество ячеек оперативной памяти, необходимое для хранения значений переменных первых семи типов языка Visual Basic, перечисленных в первой таблице.
(Смотрим на столбец «Занимаемая память». Сколько написано байт – столько будет и ячеек памяти.)
В объектно-ориентированных языках программирования переменные играют такую же важную роль, как и в процедурных языках программирования. Переменные предназначены для хранения и обработки данных. Переменная в программе представлена именем и служит для обращения к данным определенного типа. Конкретное значение переменной хранится в ячейках оперативной памяти.
Тип переменной Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов являются числа, логических – True или False, сроковых – последовательности символов и т.д. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются. Над различными типами данных допустимы различные операции. Над числовыми возможны арифметические операции, над логическими переменными – логические операции, над строковыми – операции преобразования символьных строк и т.д.
Типы переменных Тип переменной Возможные значения Приставка к имени Byte Целые числа от 0 до 255 byt Integer Целые числа от до int Long Целые числа двойной длины lng Single Десятичные числа одинарной точности sng Double Десятичные числа двойной точности dbl Boolean Логические значения True или False bln String Строка символов str Currency Число в денежном формате cur Date Дата от 1 января 100 г. до 31 декабря 9999 г. dtm Object Ссылки на любой объект obj Variant Любые значения vnt
Имя переменной Имя каждой переменной уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т.д.), но должно обязательно начинаться с буквы и не должно включать знак «. ». Количество символов в имени не может быть более 255. Для большей понятности текстов программ в именах переменных включают особую приставку, которая обозначает тип переменных. Например, целочисленные переменные – intA или intЧисло, а строковые – strB или strСтрока.
Объявление типа переменной Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий: Dim ИмяПеременной С помощью одного оператора можно объявить сразу несколько переменных, например: Dim intЧисло As Integer, strСтрока As String Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Синтаксис объявления констант следующий: Const ИмяКонстанты =ЗначениеКонстанты
Арифметические выражения В состав арифметических выражений могут входить кроме переменных числового типа также и числа, над переменными и числами могут производиться различные арифметические операции, а также математические операции, выраженные с помощью функций. Порядок вычисления арифметических выражений соответствует общеизвестному порядку выполнения арифметических операции, который может изменяться с помощью скобок.
Строковые выражения В состав строковых выражений могут входить переменные строкового типа, строки и и строковые функции. Строками являются любые последовательности символов, заключенные в кавычки. Например, «информатика», «200», «2*3» Над переменными и строками может производиться операция конкатенации. Операция конкатенации заключается в объединении строки или значения строковых переменных в единую строку. Операция конкатенации обозначается знаком «+», который не следует путать со знаком сложения чисел в арифметических выражениях.
=, =, >=, 4) And (» title=»Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And («>
10
Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And (2*3=4) – ложно; (6>4) Or (2*3=4) — истинно (6>4) Or (2*3=4) — истинно
=, =, >=, 4) And («>
=, =, >=, 4) And (2*3=4) – ложно; (6>4) Or (2*3=4) — истинно (6>4) Or (2*3=4) — истинно»>
=, =, >=, 4) And (» title=»Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And («>
title=»Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And («>
Присваивание переменным значений Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий: Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий: ИмяПеременной = Выражение Ключевое слово Let в большинстве случаев не используется.
Прежде чем переходить к вопросу о том, что такое переменная в программировании, попробуем разобраться, почему понадобились и константы, и переменные. Алгебра от арифметики существенно отличается тем, что в арифметике мы имеем дело только с числами, а в алгебре вводится понятие переменной величины.
Согласитесь, что выражение
2 + 3 = 5
достаточно серьезно отличается от выражения:
a + b = c
В чем отличие? Не только в том, что в алгебре вместо цифр применяются буквы латинского алфавита, но отличие и в уровне абстракции.
Численные выражения, хоть что с ними делай, дают в итоге только численный результат.
А вот абстрактные буквенные выражения превращаются в формулы, законы и следствия и, двигаясь дальше за пределы алгебры, в леммы, в теоремы, и, вообще, ведут к дифференциальному и интегральному исчислению, к математическому анализу и прочему. Правда, в матанализе (в математическом анализе) уже не хватает латинских букв, в ход идут греческие, всякие «дельты», «сигмы» и прочее. Но это уже не столько от нехватки букв, сколько от постоянного роста уровня абстракции, которая (абстракция) требует новых выразительных средств.
Почему так? Потому что определенный, пусть даже небольшой дополнительный уровень абстракции позволяет мыслить иначе, делать иначе, изучать иначе, и показывать иные результаты, чем при меньшем уровне абстракции.
Так же и в компьютерной грамотности. Можно говорить сначала о самом низком уровне абстракции, например, об арифметике .
Калькуляторы дружат с константами
Например, возьмем калькулятор. Что он может делать? Достаточно много: выполнять ряд арифметических и даже более сложных действий.
- Вводим на калькуляторе первое число, например, «2»,
- нажимаем на знак «плюс»,
- вводим второе число, скажем, «3» (см. рис. 1),
- и затем нажимаем знак «=».
Что получим? Очевидно, значение «5». Арифметика. Но с использованием компьютерной техники – калькулятора.
Рис. 1. Суммирование констант 2+3 на калькуляторе (Windows 7)
Рис. 2. Некоторые виды калькуляторов, имеющихся в Windows 7
Но даже сложные калькуляторы так и останутся калькуляторами, то есть, будут делать арифметические операции той или иной степени сложности. Потому что это один уровень абстракции, самый низкий, на уровне чисел. Ничем другим, кроме как обработкой числовых выражений, калькуляторы заниматься не могут.
Программы дружат с переменными величинами
И если бы следующий, новый уровень абстракции не вошел в обиход в компьютерной грамотности, то тогда не появилось бы программирование в том виде, как оно существует в наше время. Программирование, которое позволяет делать программное обеспечение, что называется, на все случаи жизни, и с дружественным интерфейсом, то есть, удобным для последующего пользования.
Как это работает? Поясним несколько упрощенно, чтобы не требовалось глубокое погружение в сложную область программирования.
Для начала отметим, что в программировании все выражения пишут как бы наоборот по сравнению с тем, как их пишут в алгебре. Если в алгебре сначала указывают операнды (переменные), над которыми следует произвести действия, а потом после знака равенства указывают результат, как в примере
то в программировании делают все наоборот: сначала указывают результат, а потом действие, то есть:
Здесь не случайно я пишу строчные (заглавные) буквы вместо прописных (маленьких) букв:
во-первых, чтобы отличить алгебру от программирования, а
во-вторых, потому что первоначально в нашей стране в программировании использовали в основном заглавные буквы латинского алфавита.
Так как вместо прописных букв латиницы у нас делали строчную кириллицу, иначе где еще взять ?! Это связано с тем, что многие трансляторы с языков программирования у нас в стране лишь адаптировали с западных аналогов, а не разрабатывали с нуля. А там, откуда все это копировалось, русского языка не было по понятным причинам. Хотя были и примеры .
И пишу я компьютерные выражения не посредине строки, как это принято в алгебре, а пишу в начале строки так, как это принято в программировании. Это уже вопросы синтаксиса языков программирования, правил написания выражения этих языков. В алгебре одни правила, в программировании – другие, хотя буквы и там, и там могут быть одинаковые.
Почему стали в программировании писать наоборот, а именно стали писать C = A + B? Трудно сказать. Так сложилось, что сначала надо было указывать результат, и лишь потом действие.
Что же дает подобное «волшебное» выражение с буквами вместо цифр для программирования? Казалось бы, в чем разница между константами и переменными:
5 = 2 + 3 (напишем наоборот лишь для сравнения) и
Давайте разберемся. Что может быть результатом сложения 2+3? Большинство ответит, конечно, «5». И хоть это почти правильный ответ, пожалуй, мы с этим согласимся.
Почему почти? Да потому что это правильный ответ для . Для четверичной системы исчисления, в которой используются только цифры от 0 до 3, ответ был бы «11», да-да, именно одиннадцать, можете не сомневаться. А в пятеричной системе исчисления, где добавляется еще цифра 4, ответ был бы «10».
Но в любом случае, о какой бы системе исчисления мы не говорили, результатом 2+3 всегда будет одно и то же число (константа). В десятичной системе (вернемся к ней теперь надолго), это «5», и только «пять».
А сколько будет A + B? Ответ очевиден: все зависит от того, чему равны A и B. Значит, результатом 2+3 всегда будет 5, а результатом A+B будут разные значения в зависимости от величин A и B.
Достаточно очевидно. Ну и что, что 5 – константа, а тут переменная? А то, что переменные – это другой уровень абстракции. За счет A+B мы теперь можем получать множество разных значений.
Как могут использоваться выражения с переменными величинами
Допустим, A – это вес одного товара, а B – это вес другого товара. Значит, A+B – это суммарный вес обоих товаров. Значит, используя выражение C=A+B, программист может запрограммировать автоматическое суммирование двух весов.
Как он это сделает?
- Например, сначала программист попросит ввести с клавиатуры вес первого товара (не описываю, как это можно сделать в языке программирования, поверим, что так можно сделать), и присваивает введенное значение переменной с именем A.
- Затем он проделывает то же самое с весом второго товара, и присваивает это уже переменной B.
- А потом пишет в своей программе теперь уже понятное нам выражение:
Что получается в итоге? Конечно, вы сразу догадались, что переменной C будет присвоено значение суммы весов, сохраненных в переменных A и B.
И далее программист напишет в своей программе (тоже прошу поверить, что это можно сделать средствами языка программирования): вывести на экране дисплея значение переменной C. Что мы увидим на экране? Конечно, сумму весов первого и второго товаров!
И теперь эту, один раз написанную программу, можно использовать снова, но уже для суммирования следующей пары весов.
Если еще убрать ручной ввод веса товара, и сразу автоматически ввести вес, скажем, с электронных весов (которые сейчас широко применяются в тех же супермаркетах), то на экран дисплея будет автоматически выводиться сумма весов 2-х товаров: положил одни товар, затем положил второй, и видишь сразу результат.
А если пойти дальше, и не выводить на экран сумму весов 2-х товаров, а записать это куда-то в базу данных?! А если не ограничиваться 2-я товарами, а, скажем, говорить о миллионе разных видов товаров, подлежащих взвешиванию? Почему бы и нет! Все это можно описать в виде выражений, подобных C = A + B.
И в итоге мы получим, можно без стеснения сказать, серьезную автоматизированную систему для супермаркета, где учитываются и веса всех товаров, и количество, и стоимость, а также все покупки, сделанные покупателями и прочее, и прочее и прочее. Но это стало возможным, когда появилось программирование с использованием переменных величин, тех самых A, B, C и тому подобное! Без этого уровня абстракции, без переменных не было бы программирования.
Переменные и константы – вместе навсегда
Справедливости ради, надо сказать, что цифры (простые и не очень простые числа) остались в программировании. Они тоже нужны. Их назвали иностранным словом «константы».
Константы – это величины, которые никогда и ни при каких обстоятельствах не меняют свои значения.
Переменные, в отличие от констант, то и дело меняют свои значения, постоянно их меняют, оттого они и называются переменными величинами.
Так что наряду с выражением C = A + B, в программировании возможно как выражение C = A + 3, так и C = 2 + B.
Однако в левой части программного выражения (до знака равенства «=») константа не может употребляться. Там может быть только переменная, поскольку значение выражения, которое присваивается переменной в левой части выражения, может меняться в зависимости от значений переменных в правой части выражения. А значит, слева может быть только переменная величина.
Благодаря латинским буквам, которые используются вместо цифр, арифметика превратилась в алгебру. Так и программирование от калькуляторов перешло к вычислительным машинам благодаря переменным величинам.
Чего стоило разработчикам языков программирования реализовать возможности для применения переменных величин? Это уже отдельная тема. Одно могу сказать, стоило дорого, само собой, не только в деньгах. Дорого в расходовании (применении) интеллекта для изобретения подобных вещей.
Другой уровень абстракции требует принципиально иных решений, новой конфигурации «железа», новых команд для нового «железа». Но это уже, что называется, другая история…
Другие материалы:
Получайте актуальные статьи по компьютерной грамотности прямо на ваш почтовый ящик
.
Уже более 3.000 подписчиков
.
Переменные.
В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют такую же важную роль, как и в процедурных языках программирования. Переменные предназначены для хранения и обработки данных.
Переменные задаются именами, определяющими в области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов(целые и вещественные числа, последовательности символов, логические значения и т.д.)
Определение переменной.
Переменная в программе представлена именем служит для обращения к данным определенного типа. Конкретное значение переменной хранится в ячейках оперативной памяти.
Тип переменной.
Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов(Byte
, Integer
, Long
, Single
, Double
) являются числа, логических (Boolean
) – True
/False
, строковых(String
)-последовательности символов и т.д. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Хранение различных типов данных в памяти компьютера.
Целые числа в интервале от 0 до 255 (
Byte)
— 1 байтВещественное число с двойной точностью(
Double
) – 8 байтСимвольные строки(
String
) – 1 байт на каждый символ.
Типы переменных.
Имя переменной.
Имя каждой переменной(идентификатор) уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов(латинские и русские буквы, цифры и т.д.) , но должно обязательно начинаться с буквы и не должно включать знак «.»(точка). Количество символов в имени не может быть более 255.
Числовую переменную можно назвать например, А или Число, а строковую А или Строка. Однако разработчик языка Visual Basic – фирма Microsoft – рекомендует для большей понятности текстов программ для программиста в имена переменных включать особую приставку
, которая обозначает тип переменных. Тогда имена переменных целесообразно записывать как intA, или intЧисло, а строковых – strA и strCтрока.
Объявление типа переменной.
Важно, чтобы не только разработчик программы(программист) понимал, переменные какого типа используются в программе, но чтобы это мог учесть и исполнитель программы(компьютер).
Второе даже еще более важно, так как, если компьютер не будет знать, переменная какого типа используется в программе, он будет считать ее переменной универсального типа
Variant
и отведет для ее хранения в памяти 16 или более байтов. Это будет приводить к неэффективному использованию и замедлению работы программы.
Объявление типа переменной.
Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий:
Dim
ИмяПеременной [ As ТипПеременной
]C помощью одного оператора можно объявить сразу несколько переменных:
Dim intЧисло As Integer, strСтрока As String
Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Синтаксис объявления констант следующий:
Const
ИмяКонстанты [ As Тип
]= ЗначениеКонстанты
Арифметические, строковые и логические выражения. Присваивание.
Арифметические выражения.
В состав арифметических выражений могут входить кроме переменных числового типа, также и числа, над переменными и числами могут производиться различные арифметические операции, а также математические операции, выраженные с помощью функций.
Порядок вычисления арифметических выражений соответствует общепринятому порядку выполнения арифметических операций (возведение в степень, умножение и деление, сложение и вычитание), который может изменяться с помощью скобок.
Строковые выражения.
В состав строковых выражений могут входить переменные строкового типа, строки и
строковые функции
.Строками являются любые последовательности символов, заключенные в кавычки. Например,
«информатика», «2000», «2*2»
Над переменными и строками может производится операция
конкатенации.
Операция конкатенации заключается в объединении строки и значения строковых переменных в единую строку. Операция конкатенации обозначается знаком «+», который не следует путать со знаком сложения чисел в арифметических выражениях.
Логические выражения.
В состав логических выражений кроме логических переменных могут входить также числа, числовые и строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (>,=,
Логическое выражение может принимать лишь два значения: «истина», «ложь», например,
5>3 – истинно
2*2=5 — ложно
Над элементами логических выражений могут производиться логические операции, которые на языке Visual Basic обозначаются следующим образом: логическое умножение – And, логическое сложение – Or, логическое отрицание –Not. При записи сложных логических выражений часто используются скобки. Например,
(5>3)
And
(2*2=5) – ложно(5>3)
Or
(2*2=5) — истинно
Присваивание переменным значений
Переменная может получить и изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий:
ИмяПеременной = ВыражениеКлючевое слово
Let
в большинстве случаев не используется. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, равное значению выражения(арифметического, строкового или логического), которое находится справа от знака равенства.
В данных Методических
указаниях излагаются основные понятия,
операторы и конструкции языка
программирования VisualBasic(VB). Во
многом они повторяют элементы
программирования языкаQBasic.
Поэтому студенты, которые знакомы сQBasic, легко освоят или
вспомнят изложенные элементы
программирования.
Методические
указания предназначены, прежде всего,
тем, кто совершенно не знаком с
программированием. Однако нужно уметь
работать в операционной системе Windows,
знать основные принципы устройства и
функционирования компьютера.
Особое внимание
уделено разъяснению важнейшего понятия
программирования – переменной
,
затем –массивам
, а такжеоператорам
выбора, переключателям и операторам
цикла
.
Одновременно с
изучением элементов программирования
необходимо изучать основные понятия
объектно-ориентированного языка
программирования VisualBasic:элементы управления,
их свойства, события, методы.
Знать
основы разработки интерфейса форм,
настраивать свойства элементов управления
и задавать им значения программным
путем.
Написанию программы
предшествует разработка алгоритма
задачи. В Методических указаниях
приводятся словесные описания алгоритмов
и фрагменты программ основных типовых
учебных задач программирования.
Блок-схемы алгоритмов здесь вообще не
приводятся. Но перед тем, как такие схемы
строить, необходимо уметь словесно
формулировать весь алгоритм или только
его идею. Без этого нельзя осмысленно
построить блок-схему алгоритма.
Алгоритм задачи
можно разработать по аналогии с известной
типовой задачей или просто догадаться.
Но чтобы такая догадка была успешной,
необходимо знание приемов программирования
и свободное владение основными элементами
программирования, которые перечислены
выше. Нужно научиться мыслить операторами
VB.
В конце Методических
указаний, в разделе 10 на примере простой
задачи показано, как знание элементов
программирования позволяет выбирать,
разрабатывать различные алгоритмы для
решения задачи.
Основные элементы программирования
Знакомство с
основными элементами программирования
VisualBasicначинается с понятия переменной. Кто
уже знаком с этим понятием из системы
программированияQBasic,
легко обнаружит отличия, которые
переменные имеют вVisualBasic.
1. Переменные, оператор присваивания
В
языках программирования одним из
важнейших понятий является понятие
переменной
.
Определение переменной
Вспомним
элементарную алгебру и решим простую
задачу.
Задача
.
Вычислить функцию
при значениях
коэффициентов и аргумента:
а = 3; b= — 4;c= 5; х = 2.
Без всякого
программирования мы подставим значения
а. b,c,xв формулу
Y=
3٠2 2 – 4٠2
+ 5,
произведем
соответствующие арифметические действия
и получим в результате Y= 9.
.
Оператор Print
выводит информацию на формы (или в
графические поля). Все, что после оператораPrintзаписанов двойных
кавычках, это текст
.Он выводится
без изменений
, что записано, то и
выводится.Если далее пишется переменная,
то выводится ее значение
. Поэтому на
форме появится:Y= 9. В
оператореPrintпосле текста
стоит символ «точка с запятой» (;). Это
разделитель. В этом случае значение
переменной выводится сразу за текстом.
Если же после текста поставить разделитель
– запятую, то вывод значения переменной
произойдет через 14 символов, считая от
края формы.
Однако при вычислении
Yодни слова, буквы
перемножаются на другие (почти как в
алгебраическом выражении), слова, буквы
возводятся в квадрат и складываются
тоже слова, буквы. Но если результат
получается правильным, следовательно,
на каком-то этапе выполнения программы
происходит передача численных значений
коэффициентов и аргумента Х в формулу.
Происходит это в момент выполнения
программы после ее перевода (трансляции)
в машинные коды.
При программировании
в машинных кодах выполнение простейшей
арифметической операции над двумя
числами требуется указать код операции,
адреса ячеек оперативной памяти, где
хранятся эти числа, и указать адрес
ячеек памяти, где будет храниться
результат операции. При выполнении
такой программы по команде процессора
данные передаются из этих ячеек на
регистры процессора (так называются
ячейки памяти процессора), где над ними
и производится определенная операция.
Иногда, согласно алгоритму задачи,
результат может помещаться, записываться
в ту же ячейку памяти, в которой хранилось
одно из чисел, над которым выполнялась
операция. В этом случае прежнее значение
данных будет заменено новым.
В языках
программирования высокого уровня
аналогом этих ячеек памяти является
переменная.
Отсюда следующее
определение.
Переменная
–это
именованная область
памяти
,где хранятся данные, с
которыми производятся в программе
определенные операции, действия и
которые могут изменяться при выполнении
программы.
Само название
«переменная»
предполагает ее
изменчивость.
Важнейшее положение
языков программирования:
После присвоения
переменной некоторого значения вместо
этого значения можно использовать
переменную. Это равносильно использованию
самих значений.
Именно в этом
состоит основный смысл введения
переменных в языках программирования.
В приведенном
примере в первом варианте программы
переменными являются: а, b,c, х,Y. Во
втором варианте программы название
некоторых переменных изменены и имеют
имена:k1,k2,k3,x,Y.
Только от программиста зависит, какие
имена будут у переменных.
В расчетных
задачах
можно выделить переменные,
являющиесяначальными данными
,
переменные для храненияпромежуточных
результатов
ирезультирующие
переменные
, для вычисления которых
и формулируется задача.
Именно использование
переменных в программе позволяет
выполнять одну и ту же программу с
различными начальными значениями
переменных без изменения кода программы.
После трансляции
программы в машинные коды каждой
переменной в компьютере выделяется
определенная область оперативной памяти
со своим адресом. Делают это трансляторы
при переводе кодов программы, написанной
программистом, в машинные коды и
операционная система.
Но при разработке
программы программиста совершенно не
волнует, какой будет адрес выделяемой
память и величина этой памяти для
хранения значений переменных. Главное,
если программист каким-либо способом
задал, присвоил переменным какие-то
значения, то в любых выражениях программы,
где будут встречаться эти переменные,
их значения будут подставляться вместо
переменных.
Переменные:тип, имя, значение | План-конспект урока (информатика и икт, 9 класс) по теме:
9 КЛАСС
УРОК №17. «Переменные: тип, имя, значение».
План урока:
- Орг. момент. (1 мин)
- Актуализация и проверка знаний. (5 мин)
- Теоретическая часть. (15 мин)
- Практическая часть. (15 мин)
- Д/з (2 мин)
- Итог урока. (2 мин)
Орг. момент.
Приветствие, проверка присутствующих. Объяснение хода урока.
2. Актуализация и проверка знаний.
На прошлом уроке мы начали знакомиться с понятием алгоритма и основами программирования. Напомните, что же такое алгоритм, какими свойствами он обладает, как записывается алгоритм, что такое программа?
3.Теоретическая часть.
Известно, что всякий алгоритм составляется для конкретного исполнителя. Сейчас в качестве исполнителя мы будем рассматривать компьютер, оснащенный системой программирования на определенном языке.
Компьютер — исполнитель работает с определенными данными по определенной программе. Программа – это алгоритм записанный на каком-либо языке программирования. Данные – это множество величин.
Для того чтобы программа обладала универсальностью, действия в ней должны совершаться не над постоянными, а над переменными величинами. Поэтому важным понятием программирования является понятие переменной.
Компьютер работает с информацией, хранящейся в его памяти. Отдельный информационный объект (число, символ, строка, таблица и пр.) называется величиной.
Величины в программировании, как и в математике, делятся на переменные и константы. Значение константы остается неизменной в течении всей программы, значение переменной величины может изменяться.
У каждой переменной есть имя, тип и текущее значение. Имена переменных называют идентификаторами (от глагола «идентифицировать», что значит «обозначать», «символизировать»). В качестве имен переменных могут быть буквы, цифры и другие знаки. Причем может быть не одна буква, а несколько. Примеры идентификаторов: a, b5, x, y, x2, summa, bukva10…
Существуют три основных типа величин, с которыми работает компьютер: числовой, символьный и логический. Тип данных характеризует внутреннее представление, множество допустимых значений для этих данных, а также совокупность операций над ними. В зависимости от типа переменной в памяти компьютера будет выделена определенная область.
Наглядно переменную можно представить как коробочку, в которую можно положить на хранение что-либо. Имя переменной – это надпись на коробочке, значение – это то, что хранится в ней в данный момент, а тип переменной говорит о том, что допустимо класть в эту коробочку.
Всякий алгоритм строится исходя из системы команд исполнителя, для которого он предназначен.
Независимо от того, на каком языке программирования будет написана программа, алгоритм работы с величинами, обычно, составляется из следующих команд:
- присваивание;
- ввод;
- вывод;
Значения переменным задаются с помощью оператора присваивания. Команда присваивания – одна из основных команд в алгоритмах работы с величинами. При присваивании переменной какого-либо значения старое значение переменной стирается и она получает новое значение.
В языках программирования команда присваивания обычно обозначается либо «:=» (двоеточие и равно), либо «=» (равно). Значок «:=» (или «=») читается «присвоить». Например:
z := x + y
Компьютер сначала вычисляет выражение x + y, затем результат присваивает переменной z, стоящей слева от знака «:=».
Если до выполнения этой команды содержимое ячеек, соответствующих переменным x, y, z, было таким:
то после выполнения команды z := x + y оно станет следующим:
Прочерк в ячейке z обозначает, что начальное число в ней может быть любым. Оно не имеет значения для результата данной команды.
Если слева от знака присваивания стоит числовая переменная, а справа – математическое выражение, то такую команду называют арифметической командой присваивания, а выражение – арифметическим.
В частном случае арифметическое выражение может быть представлено одной переменной или одной константой.
Например:
x := 7
a := b + 10
c := x
Значения переменных, являющихся исходными данными решаемой задачи, как правило, задаются вводом. На современных компьютерах ввод чаще всего выполнятся в режиме диалога с пользователем. По команде ввода компьютер прерывает выполнение программы и ждет действий пользователя. Пользователь должен набрать на клавиатуре вводимые значения переменных и нажать клавишу . Введенные значения присвоятся соответствующим переменным из списка ввода, и выполнение программы продолжится.
Команд ввода в описаниях алгоритмов обычно выглядит так:
ввод
или
ввод ()
Вот схема выполнения приведенной выше команды.
1. Память до выполнения команды:
2. Компьютер получил команду ввод (а, в, с), прервал свою работу и ждет действий пользователя.
3. Пользователь набирает на клавиатуре:
1 3 5
и нажимает клавишу ().
4. Память после выполнения команды:
При выполнении пункта 3 вводимые числа должны быть отделены друг от друга какими-нибудь разделителями. Обычно это пробелы.
Следовательно, можно сделать вывод:
Переменные величины получают конкретные значения в результате выполнения команды присваивания или команды ввода.
Если переменной величине не присвоено никакого значения (или не введено), то она является неопределенной. Иначе говоря, ничего нельзя сказать, какое значение имеет эта переменная.
Результаты решения задачи сообщаются компьютером пользователю путем выполнения команды вывода.
Команда вывода в описаниях алгоритмов обычно выглядит так:
вывод
или
вывод ()
Например: вывод (x1, х2).
По этой команде значения переменных x1 и х2 будут вынесены на устройство вывода (чаще всего это экран).
4.Практическая часть.
Составим алгоритм вычисления периметра треугольника. Нам потребуется 4 переменных для хранения значения длин сторон треугольника и его периметра. Периметр – это сумма всех сторон.
Алгоритм Вычисление периметра треугольника
переменные a, b, c, p — целые
начало
ввод (а, b, c)
p := a + b+ c
вывод (p)
конец
Сначала компьютер запросит значения переменных a, b, c у пользователя, затем произведет вычисления и выведет результат на экран.
Строка переменные a, b, c, p — целые — называется описанием переменных. Некоторые языки программирования требуют обязательного описания всех переменных до начала их использования в программе, некоторые – относятся более лояльно.
Полученный алгоритм имеет линейную структуру.
- Д/з .
- Итог урока.
типов значений и ссылочных типов — Visual Basic
- 2 минуты на чтение
В этой статье
В Visual Basic есть два типа типов: ссылочные типы и типы значений. Переменные ссылочных типов хранят ссылки на свои данные (объекты), а переменные типов значений непосредственно содержат свои данные.С ссылочными типами две переменные могут ссылаться на один и тот же объект; следовательно, операции с одной переменной могут повлиять на объект, на который ссылается другая переменная. С типами значений каждая переменная имеет свою собственную копию данных, и операции с одной переменной не могут влиять на другую (за исключением случая модификатора ByRef для параметров).
Типы значений
Тип данных — это тип значения , если он хранит данные в собственном распределении памяти. Типы значений включают следующее:
Все числовые типы данных
Логическое значение
,Char
иДата
Все структуры, даже если их элементы являются ссылочными типами
Перечисления, так как их базовый тип всегда
SByte
,Short
,Integer
,Long
,Byte
,UShort
,UInteger
илиULong
Каждая структура является типом значения, даже если она содержит элементы ссылочного типа.По этой причине такие типы значений, как Char
и Integer
, реализуются структурами .NET Framework.
Вы можете объявить тип значения с помощью зарезервированного ключевого слова, например Decimal
. Вы также можете использовать ключевое слово New
для инициализации типа значения. Это особенно полезно, если у типа есть конструктор, принимающий параметры. Примером этого является конструктор Decimal (Int32, Int32, Int32, Boolean, Byte), который строит новое значение Decimal
из предоставленных частей.
Справочные типы
Ссылочный тип хранит ссылку на свои данные. Типы ссылок включают следующие:
Строка
Все массивы, даже если их элементы являются типами значений
Типы классов, такие как Форма
Делегаты
Класс — это ссылочный тип . Обратите внимание, что каждый массив является ссылочным типом, даже если его члены являются типами значений.
Поскольку каждый ссылочный тип представляет базовый класс .NET Framework, вы должны использовать ключевое слово New Operator при его инициализации. Следующий оператор инициализирует массив.
Тусклые итоги () как одиночный = новый одиночный (8) {}
Элементы, не являющиеся типами
Следующие элементы программирования не квалифицируются как типы, потому что вы не можете указать какой-либо из них в качестве типа данных для объявленного элемента:
Пространства имен
Модули
События
Свойства и процедуры
Переменные, константы и поля
Работа с типом данных объекта
Вы можете присвоить либо ссылочный тип, либо тип значения переменной типа данных Object
.Переменная Object
всегда содержит ссылку на данные, но не на сами данные. Однако, если вы присвоите тип значения переменной Object
, она будет вести себя так, как если бы она содержала свои собственные данные. Для получения дополнительной информации см. Тип данных объекта.
Вы можете узнать, действует ли переменная Object
как ссылочный тип или тип значения, передав ее методу IsReference в классе Information пространства имен Microsoft.VisualBasic. Information.IsReference возвращает True
, если содержимое переменной Object
представляет ссылочный тип.
См. Также
Переменная PowerShell — имя, значение, тип данных
Переменная PowerShell имеет множество функций, которые помогают создавать надежные сценарии. Понимание наиболее важных концепций переменной PowerShell необходимо для всего, что вы делаете в PowerShell. В первом посте этой серии я объясню, как называть переменные, как присваивать значения и как работать с типами данных PowerShell.
Майкл Пьетрофорте — основатель и главный редактор 4sysops.
Давайте сначала рассмотрим основы. Важным свойством переменной PowerShell является ее имя, которому всегда предшествует знак доллара «$» и которое может содержать только буквы, цифры и символ подчеркивания. Если вы чувствуете сильное желание использовать другие символы, вы должны заключить имя в фигурные скобки. Вы не должны использовать имена переменных, которые были предварительно определены (подробнее об этом позже).
Вот примеры правильных имен переменных:
$ myVariable, $ MyVariable_1, $ {my-variable}
И это недопустимые имена:
myVariable, $ my-variable, $ my variable
Строго говоря, имя переменной — это часть после знака доллара.
Вы можете присвоить значения переменной PowerShell, объединив имя переменной, оператор присваивания и выражение. Вот простой пример:
$ a = 1 + 1
Знак «=» — это один из восьми операторов присваивания. Выражение — это все, для чего PowerShell может определить значение. Если вы вводите выражение в командной строке PowerShell, PowerShell возвращает его значение. «Hello world» и 1 также являются выражениями; для определения их значений просто не нужно так много вычислений.
Если вы хотите заполнить несколько переменных одним и тем же значением, вы можете сохранить немного ввода, как в примере ниже:
$ a = $ b = $ c = 1
Вы также можете определить несколько переменных с разными значениями для одной line:
$ a, $ b, $ c = 1, 2, 3
Это уменьшает количество строк в вашем скрипте, но также затрудняет чтение.
Существуют и другие способы сохранения значения в переменной. Мы увидим примеры позже.
Чтобы отобразить значение переменной, вам не нужна специальная команда, как во многих других языках программирования; достаточно ввести имя переменной.Это работает в сценарии и в командной строке.
$ c
Благодаря интерполяции переменных вы также можете развернуть переменную в строке, если строка заключена в двойные кавычки.
«Это значения переменных: $ a, $ b, $ c».
Если вы хотите отображать имена переменных в виде текста, а не отображать их значения, вы должны заключить строку в одинарные кавычки.
'Это имена наших переменных $ a, $ b, $ c.До сих пор мы работали только с двумя типами данных: строками и целыми числами (точнее, 32-битными целыми числами). PowerShell поддерживает многие другие типы данных, такие как числа с плавающей запятой, строки и логические значения. Вам не нужно явно указывать тип данных переменной; PowerShell автоматически выбирает тип данных для вас, когда вы инициализируете переменную, то есть когда вы впервые присваиваете значение.
Однако в некоторых случаях PowerShell не будет использовать предполагаемый тип данных, как показано в примере ниже:
$ Number = Read-Host «Пожалуйста, введите число» $ Квадрат = $ Число * $ Число Write-Host "Квадрат числа $ Number равен $ Square."Если вы не спали в математическом классе, результат этого вычисления должен быть немного неожиданным. PowerShell ошибочно предположил, что тип данных переменной $ Number - String . Поскольку арифметический оператор * перегружен (реализация оператора зависит от аргументов), вторая строка в программе умножает строку вместо числа
Второй аргумент оператора * всегда должен быть числом, поэтому PowerShell автоматически преобразует данные введите $ Number в Int32 .Однако первый аргумент также может быть строкой. В результате PowerShell определяет значение выражения «2» * 2, которое равно 22 (строка «2» повторяется два раза).
PowerShell не только автоматически назначает тип данных при инициализации переменной, но и тип данных может изменяться «на лету», когда исходный тип данных не подходит для операции. В приведенном выше примере PowerShell требуется номер для оператора *; поскольку строка «2» очень похожа на число, она просто преобразует ее в целое число 2.
Однако, если не существует разумного способа автоматического преобразования типа данных и тип данных не соответствует операции, PowerShell выдаст ошибку. Например, в приведенных ниже строках появится сообщение об ошибке «Невозможно преобразовать значение« b »в тип« System.Int32. »»
$ a = «a» $ b = "b" $ a * $ bОднако следующий пример, который выглядит очень похожим, проходит через:
$ a = "a" $ b = "2" $ a * $ bВажно отметить, что автоматическое преобразование не меняет тип данных переменной.Несмотря на то, что значение переменной $ b в примере использовалось в вычислении как целое число, его тип данных по-прежнему String . Чтобы определить тип переменной, вы можете использовать метод GetType () :
$ b.GetType (). ИмяЕсли вас удивит, что переменная снабжена методом, у вас будет ждать следующего поста, в котором я раскрою секрет приведенной выше команды.
Нам не нужно полагаться на способность PowerShell автоматически преобразовывать типы данных, если мы сообщаем интерпретатору, что ожидаем число в качестве входных данных.Это гарантирует правильную работу нашего сценария:
[Int] $ Number = Read-Host "Пожалуйста, введите число" $ Квадрат = $ Число * $ Число Write-Host "Квадрат числа $ Number равен $ Square."В приведенном выше фрагменте кода мы явно объявили число как Int32 (целое), заключив имя типа в квадратные скобки перед именем переменной. Переменная называется «слабо типизированной», если вы только неявно объявляете ее тип данных, присваивая значение определенного типа.Если вы явно объявляете тип данных переменной в своем скрипте, переменная будет строго типизированной.
Как показывает пример выше, явное объявление типов переменных может предотвратить нежелательные результаты в ваших скриптах и сделать их более надежными. Однако это не единственная причина, по которой имеет смысл работать со строго типизированными переменными. То, что вы можете делать со значением переменной, часто зависит от ее типа данных.
Например, вы можете сохранить определенную дату в переменной типа данных String , и вы можете использовать тип данных DateTime , который предназначен для этой цели.Пока вы хотите отображать только дату, не имеет значения, какой тип данных вы используете. Однако, если вы хотите использовать переменную в вычислениях, вы должны объявить ее как DateTime .
Допустим, вы импортировали даты из файла журнала и хотите узнать, сколько дней прошло между определенной датой и сегодняшней датой:
[DateTime] $ Date = "28 февраля 2015" $ Сегодня = Get-Date $ Дней = ($ Сегодня - $ Дата). Дней Write-Host "Хакер зашифровал все ваши серверы $ Days дн. Назад.«Если вы опустите объявление типа данных в приведенном выше примере, PowerShell вежливо проинформирует вас красным сообщением о том, что что-то пошло не так:« Обнаружено несколько неоднозначных перегрузок для… »Да, оператор - также перегружен.
Ниже приведен список некоторых часто используемых типов данных:
Имя типа данных | Описание | ||
[Массив] | Массив | ||
[Bool] | Значение или FALSE | ||
[DateTime] | Дата и время | ||
[Guid] | Глобальный уникальный 32-байтовый идентификатор | ||
[HashTable] | Хэш-таблица | [Int32], [Int] | 32-битные целые числа |
[PsObject] | Объект PowerShell | ||
[Regex] | Регулярное выражение | ||
[ScriptBlock] | Блок сценария PowerShell | ||
[Single], [Float] | Число с плавающей запятой | ||
[String] | String | ||
Параметр PowerShell | [Switch] | ||
[TimeSpan] | Временной интервал | ||
[XmlDocument] | XML-документ |
В следующем посте я расскажу о переменной области.
7.1 Переменные
7.1 Переменные
Переменную можно представить себе как ведро, которое может быть у вас дома. Ты
может положить в ведро много разных вещей. Например, вы можете использовать
ведро для воды, песка или гравия. Когда вы выливаете содержимое
ведро, вы меняете количество песка, воды или гравия в ведре.
Вы также можете положить в ведро разное количество каждого из этих предметов.
Иногда вам может понадобиться наполнить ведро водой только наполовину.Другой
время, возможно, вам придется полностью наполнить ведро водой.
Подобно корзине, переменная - это объект, содержащий значение. Ты можешь измениться
значение, которое переменная хранит во время выполнения вашего скрипта. Условия
которые происходят в вашем скрипте, также могут изменить значение, хранящееся в ваших переменных.
Каждая переменная, которую вы используете в своем скрипте или функции, относится к определенному типу и может
хранить только один тип информации.
Вы должны объявить все переменные с именем и типом, прежде чем вы сможете использовать
их в вашем сценарии или функции.
Вы должны дать каждой переменной отдельное имя, чтобы отличать ее от других
функции и имена, используемые в сценарии или файле сценария.
Вы не можете использовать повторяющиеся имена переменных, так как это может привести к ошибкам при
скомпилируйте свой файл сценария.
Типы переменных
В сценариях и функциях можно использовать один из четырех типов переменных.
Вы храните только один конкретный тип информации в каждой из этих переменных.
типы.Типы переменных включают:
- целое
- строка
- ручка
- объект
Целочисленные переменные
Вы можете использовать переменную целочисленного типа для хранения числовых значений. Числовой
значение, которое вы храните в виде целого числа, должно быть целым числом, например 0, 10 или 100. Вы
не может хранить числа с десятичной точкой в целочисленных переменных. JAWS дает все
целочисленные переменные с начальным значением нуля каждый раз, когда вы активируете скрипт в
в котором объявлены переменные.
Вы должны объявить целочисленную переменную, прежде чем сможете использовать ее в своем
сценарий или функция. Вы можете объявить целочисленную переменную следующим образом:
Инт MyIntegerVariable
Строковые переменные
Вы можете использовать строковую переменную для хранения строки символов. Ты
может думать о строке как о группе символов, включая буквы, цифры,
знаки препинания и пробелы. Когда вы присваиваете значение строковой переменной,
вы должны заключить символы в кавычки.
JAWS присваивает всем строковым переменным начальное значение, равное нулю или нулевому значению.
когда вы активируете скрипт, в котором объявлены переменные. Вы можете
представляют нулевые значения в виде пары кавычек без пробелов между ними или
с константой cscNull, найденной в файле сообщений по умолчанию Common.jsm. Вы должны объявить строковую переменную перед
вы можете использовать его в своем скрипте или функции. Вы можете объявить строковую переменную как
следует:
Строка MyStringVariable
Обработка переменных
Вы можете использовать тип переменной дескриптора для хранения значения дескриптора окна.В
операционная система автоматически назначает дескриптор окна каждому окну внутри
любое запущенное приложение. Дескриптор окна - это уникальный номер, который меняет каждый
когда вы закроете, а затем снова откроете приложение.
Например, когда вы запускаете Microsoft Word, окно редактирования документа может
имеют значение дескриптора окна 1000. Когда вы закрываете Word, а затем снова открываете его,
значение дескриптора окна больше не 1000. Новое значение может быть 1100, 3000 или любое другое.
другой произвольный номер.
Дескриптор также представляет собой целое число, например целое число, и им можно манипулировать, как
другие целочисленные переменные. Однако вы можете использовать переменные-дескрипторы только для
идентификация оконных ручек. Другими словами, вы не можете хранить ручку
значение в целочисленной переменной.
JAWS каждый раз присваивает всем целочисленным переменным дескриптора начальное нулевое значение.
вы активируете скрипт, в котором объявлены переменные. Вы должны объявить
обработать переменную, прежде чем вы сможете использовать ее в своем скрипте или функции.
Вы объявляете переменную дескриптора следующим образом:
Ручка MyHandleVariable
Переменные объекта
Четвертый и последний тип переменной, который вы можете использовать, - это тип объектной переменной.
Вы используете тип объектной переменной для хранения объекта. Объект относится к
типы объектов, используемых в определенных приложениях Microsoft, таких как Office
люкс.
JAWS дает всем объектным переменным начальное значение, равное нулю или нулевому значению.
когда вы активируете скрипт, в котором объявлена переменная.Вы должны
объявите объектную переменную, прежде чем вы сможете использовать ее в своем скрипте или функции.
Вы объявляете объектную переменную следующим образом:
Объект MyObjectVariable
Именование переменных
Когда вы начнете использовать переменные в своих скриптах, вы сможете
можно назвать их, чтобы легко идентифицировать их содержимое. Когда вы используете несколько слов
для имен переменных вы должны использовать заглавную букву в каждом слове
имя переменной.Когда вы следуете этому практическому правилу, JAWS использует смешанный регистр
обработка для произнесения каждого слова, начинающегося с заглавной буквы, как нового
слово. Это значительно упрощает понимание имени переменной. Когда
первая буква каждого слова в имени переменной не заглавная, JAWS
произносит переменную как одно слово.
Следующие примеры иллюстрируют использование переменных с несколькими словами
имена. В первом примере в каждом слове используются начальные заглавные буквы, в то время как
второй пример - нет.
MyFirstVariable
myfirstvariable
Когда вы использовали JAWS для чтения предыдущих примеров, заметили ли вы разницу?
как произносились имена переменных?
Вам также следует давать вашим переменным значащие имена. Если вы дадите строку
имя переменной "i", вы не можете сказать, какой тип информации
переменные магазины. Однако, когда вы используете имя адреса или сообщение для
имя строковой переменной, содержимое которой легко идентифицировать.
Вы также можете использовать венгерскую нотацию для именования переменных. венгерский язык
нотация использует строчные буквы в начале имен переменных для обозначения
тип переменной. Например, вы можете назвать строковую переменную, содержащую
имя sFirstName. Строчная буква "s" означает, что переменная
строки типа. Часть имени переменной "FirstName"
указывает, что переменная содержит информацию об имени. Другие виды
Венгерская нотация включает "I" для обозначения целочисленных переменных,
"h" указывает на управляющие переменные и "o" указывает
переменные объекта.
Объявление переменных
Вы можете объявить переменные одним из двух способов: локально или глобально. Когда ты
объявлять переменные локально, вы можете использовать только те переменные в скрипте, где
вы их объявили. Когда вы объявляете группу переменных глобально, вы можете использовать
эти переменные в любом сценарии в файле сценария, в котором вы их объявляете.
Локальное объявление переменных
Вы объявляете локальные переменные в сценарии сразу после
начальная строка сценария.Вы запускаете начало локальной переменной
объявление с ключевым словом Var. Вы должны объявить каждую переменную в
отдельная строка. Когда вы объявляете более одной переменной, вы должны поставить запятую
сразу после каждого имени переменной, кроме последней переменной. Хорошая идея
состоит в том, чтобы добавить комментарий в конце объявления о том, как переменная
использовал. Как было сказано ранее, в скрипте можно использовать только локальные переменные.
в котором вы их объявляете. Пример объявления локальной переменной:
следует:
Вар
строка sFirstName,; опишите переменную здесь
строка sLastName; опишите переменную здесь
Объявление глобальных переменных
Вы объявляете глобальные переменные в файле сценария сразу после любого
включать заявления.Вы начинаете начало объявления глобальной переменной
с ключевым словом Globals. Каждую переменную следует объявлять в отдельной строке.
Когда вы объявляете более одной переменной, вы должны сразу поставить запятую
после каждого имени переменной, кроме последней переменной. Хорошая идея - добавить
комментарий в конце объявления о том, как используется переменная.
После того, как вы создали глобальную переменную и присвоили ей значение, глобальная переменная
переменная сохраняет значение даже после закрытия приложения, которое ее использует.Если вы откроете приложение во время того же компьютерного сеанса, глобальный
переменные из файла сценария этого приложения будут иметь те же значения, что и
были до того, когда вы закрыли приложение. Вы можете только очистить значения
хранятся в глобальных переменных путем выгрузки и перезапуска JAWS.
Пример объявления глобальной переменной выглядит следующим образом:
Глобал
строка sFirstName,; опишите переменную здесь
строка sLastName; опишите переменную здесь
Вы также можете объявить глобальные переменные в файле заголовка сценария.Когда ты
объявить глобальные переменные в файле заголовка сценария, вы должны включить файл в
любой файл сценария, в котором вы будете использовать эти переменные. Вы можете найти пример
файла заголовка, содержащего объявления глобальных переменных, путем просмотра
глобальный файл по умолчанию, HJGlobal.jsh. Вы можете найти этот файл в своем общем JAWS
папка настроек. Файл HJGlobal.jsh включен в файл сценария по умолчанию,
default.jss. Включение файла заголовка HJGlobal.jsh в файл сценария по умолчанию
позволяет использовать глобальные переменные в любом из сценариев по умолчанию и
определяемые пользователем функции.Когда вы включаете файл HJGlobal.jsh в конкретное приложение
script, вы можете использовать эти переменные для получения конкретной информации по мере необходимости.
Однако следует проявлять осторожность при использовании любых глобальных переменных из HJGlobal.jsh.
файл. Сценарии по умолчанию и пользовательские функции часто изменяют значения.
содержащиеся в этих переменных. Когда вы изменяете значения переменных
в ваших собственных сценариях вы можете столкнуться с нежелательными результатами в своем сценарии
файл.
Присвоение значений
Вы можете использовать оператор let для присвоения значений любой из 4 переменных.
типы. Например, пусть iControl = 1500 присваивает значение 1500 параметру
переменная, iControl. Начиная с версии 11 JAWS, оператор let теперь является необязательным и необязательным.
Вы можете присвоить значение самостоятельно или вы можете присвоить возвращаемое значение из встроенного
функцию переменной. Когда вы присваиваете возвращаемое значение из функции объекту
переменной, вы должны убедиться, что типы переменных совпадают.Например,
Встроенная функция GetFocus возвращает дескриптор окна. Вам нужно использовать ручку
переменная для хранения этого возвращаемого значения. В противном случае компилятор скрипта будет
генерировать синтаксическую ошибку при попытке скомпилировать сценарий. Заявление
вы могли бы использовать для присвоения возвращаемого значения из функции GetFocus дескриптору
переменная:
пусть hWnd = GetFocus ()
Другие примеры присвоения значений переменным с помощью оператора let
следовать:
let sCompanyName = "Freedom Scientific"
sMessage = "Привет, мир!"
пусть iControl = GetControlID (GetFocus ())
Как использовать переменные и константы в Go
Переменные - важная концепция программирования, которую необходимо освоить.Это символы, обозначающие значение, которое вы используете в программе.
В этом руководстве будут рассмотрены основы работы с переменными и передовые методы их использования в создаваемых вами программах Go.
Общие сведения о переменных
С технической точки зрения, переменная присваивает место хранения значению, привязанному к символическому имени или идентификатору. Мы используем имя переменной для ссылки на это сохраненное значение в компьютерной программе.
Мы можем думать о переменной как о метке, на которой есть имя, которое вы привязываете к значению.
Допустим, у нас есть целое число 1032049348
, и мы хотим сохранить его в переменной, а не постоянно вводить длинное число снова и снова. Для этого мы можем использовать легко запоминающееся имя, например, переменную i
. Чтобы сохранить значение в переменной, мы используем следующий синтаксис:
i: = 1032049348
Мы можем рассматривать эту переменную как метку, привязанную к значению.
На метке написано имя переменной i
, и она привязана к целочисленному значению 1032049348
.
Фраза i: = 1032049348
- это объявление и оператор присваивания, состоящий из нескольких частей:
- имя переменной (
i
) - назначение объявления краткой переменной (
: =
) - значение, которое привязывается к имени переменной (
1032049348
) - тип данных, выводимый Go (
int
)
Позже мы увидим, как явно задать тип, в следующем разделе.
Вместе эти части составляют оператор, который устанавливает переменную i
равной значению целого числа 1032049348
.
Как только мы устанавливаем переменную равной значению, мы инициализируем или создаем эту переменную. Как только мы это сделаем, мы готовы использовать переменную вместо значения.
После того, как мы установили i
равным значению 1032049348
, мы можем использовать i
вместо целого числа, поэтому давайте распечатаем его:
пакет основной
импорт "FMT"
func main () {
я: = 1032049348
fmt.Println (i)
}
Выход
1032049348
Мы также можем быстро и легко выполнять математические вычисления, используя переменные. С i: = 1032049348
мы можем вычесть целое значение 813
с помощью следующего синтаксиса:
fmt.Println (i - 813)
Выход
1032048535
В этом примере Go выполняет вычисления за нас, вычитая 813 из переменной i
, чтобы вернуть сумму 1032048535
.
Говоря о математике, переменные могут быть установлены равными результату математического уравнения. Вы также можете сложить два числа и сохранить значение суммы в переменной x
:
х: = 76 + 145
Вы могли заметить, что этот пример похож на алгебру. Точно так же, как мы используем буквы и другие символы для представления чисел и величин в формулах и уравнениях, переменные представляют собой символьные имена, которые представляют значение типа данных.Для правильного синтаксиса Go вам нужно убедиться, что ваша переменная находится слева от любых уравнений.
Давайте напечатаем x
:
пакет основной
импорт "FMT"
func main () {
х: = 76 + 145
fmt.Println (x)
}
Выход
221
Go вернул значение 221
, поскольку переменная x
была установлена равной сумме 76
и 145
.
Переменные могут представлять любой тип данных, а не только целые числа:
s: = "Привет, мир!"
f: = 45.06
b: = 5> 9 // Логическое значение вернет истину или ложь
array: = [4] строка {"item_1", "item_2", "item_3", "item_4"}
slice: = [] строка {"один", "два", "три"}
m: = map [строка] строка {"буква": "g", "number": "семь", "symbol": "&"}
Если вы напечатаете любую из этих переменных, Go вернет то, чему эта переменная эквивалентна. Давайте поработаем с оператором присваивания для строки slice
типа данных:
пакет основной
импорт "FMT"
func main () {
slice: = [] строка {"один", "два", "три"}
fmt.Println (срез)
}
Выход
[один, два, три]
Мы присвоили значение среза [] string {"one", "two", "three"}
переменной slice
, а затем использовали функцию fmt.Println
, чтобы распечатать это значение, вызвав ломтик
.
Переменные работают путем выделения небольшой области памяти на вашем компьютере, которая принимает указанные значения, которые затем связываются с этим пространством.
Объявление переменных
В Go существует несколько способов объявления переменной, а в некоторых случаях - более одного способа объявления одной и той же переменной и значения.
Мы можем объявить переменную с именем i
с типом данных int
без инициализации. Это означает, что мы объявим пробел для размещения значения, но не присвоим ему начальное значение:
var i int
Это создает переменную, объявленную как i
, с типом данных int
.
Мы можем инициализировать значение с помощью оператора равенства ( =
), как в следующем примере:
var i int = 1
В Go обе эти формы объявления называются длинными объявлениями переменных .
Мы также можем использовать короткое объявление переменной :
я: = 1
В этом случае у нас есть переменная с именем i
и тип данных int
. Если мы не укажем тип данных, Go определит тип данных.
Сообщество Go приняло следующие три способа объявления переменных:
Используйте длинную форму,
var i int
, только если вы не инициализируете переменную.Используйте краткую форму
i: = 1
при объявлении и инициализации.Если вы не хотели, чтобы Go выводил ваш тип данных, но вы все равно хотите использовать краткое объявление переменной, вы можете заключить свое значение в желаемый тип со следующим синтаксисом:
я: = int64 (1)
Использование длинной формы объявления переменной при инициализации значения в Go не считается идиоматическим:
var i int = 1
Хорошая практика - следить за тем, как сообщество Go обычно объявляет переменные, чтобы другие могли легко читать ваши программы.
Нулевые значения
Все встроенные типы имеют нулевое значение. Можно использовать любую выделенную переменную, даже если ей никогда не было присвоено значение. Мы видим нулевые значения для следующих типов:
пакет основной
импорт "FMT"
func main () {
var a int
var b строка
var c float64
var d bool
fmt.Printf ("var a% T =% + v \ n", a, a)
fmt.Printf ("var b% T =% q \ n", b, b)
fmt.Printf ("var c% T =% + v \ n", c, c)
fmt.Printf ("var d% T =% + v \ n \ n", d, d)
}
Выход
var a int = 0
var b string = ""
var c float64 = 0
var d bool = false
Мы использовали глагол % T
в строке fmt.Заявление Printf
. Это указывает функции на печать типа данных
для переменной.
В Go, поскольку все значения имеют значение ноль
, у нас не может быть неопределенных значений
, как в некоторых других языках. Например, логическое значение
на некоторых языках может быть undefined
, true
или false
, что позволяет задать для переменной три состояния
. В Go у нас не может быть более двух
состояний для логического значения.
Именование переменных: правила и стиль
Именование переменных достаточно гибкое, но следует помнить о некоторых правилах:
- Имена переменных должны состоять только из одного слова (без пробелов).
- Имена переменных должны состоять только из букв, цифр и знаков подчеркивания (
_
). - Имена переменных не могут начинаться с цифры.
Следуя этим правилам, давайте посмотрим как на допустимые, так и на недопустимые имена переменных:
Действителен | Неверно | Почему неверно |
---|---|---|
имя пользователя | имя пользователя | Дефисы не допускаются |
имя4 | 4 имя | Не может начинаться с числа |
пользователь | $ пользователь | Невозможно использовать символы |
Имя пользователя | имя пользователя | Не может быть более одного слова |
Кроме того, при именовании переменных помните, что они чувствительны к регистру.Эти имена userName
, USERNAME
, UserName
и uSERNAME
- все это совершенно разные переменные. Лучше всего избегать использования одинаковых имен переменных в программе, чтобы гарантировать, что и вы, и ваши соавторы - нынешние и будущие - сможете сохранять свои переменные в порядке.
Хотя переменные чувствительны к регистру, регистр первой буквы переменной имеет особое значение в Go. Если переменная начинается с заглавной буквы, то эта переменная доступна вне пакета, в котором она была объявлена (или экспортировано
).Если переменная начинается со строчной буквы, то она доступна только в том пакете, в котором она объявлена.
var Строка электронной почты
var строка пароля
Электронная почта
начинается с заглавной буквы и доступна для других пакетов. пароль
начинается со строчной буквы и доступен только внутри пакета, в котором он объявлен.
В Go часто используются очень краткие (или короткие) имена переменных. Учитывая выбор между использованием userName
и пользователя
для переменной, было бы идиоматично выбрать пользователя
.
Область видимости также играет роль в краткости имени переменной. Правило состоит в том, что чем меньше область видимости, в которой существует переменная, тем меньше имя переменной:
names: = [] строка {"Мэри", "Джон", "Боб", "Анна"}
for i, n: = имена диапазонов {
fmt.Printf ("индекс:% d =% q \ n", i, n)
}
Мы используем переменную , именуемую
, в более широкой области, поэтому было бы обычным давать ей более значимое имя, чтобы помочь запомнить, что она означает в программе. Однако мы используем переменные i
и n
сразу в следующей строке кода, а затем больше не используем их.. Из-за этого никто, читающий код, не запутается в том, где используются переменные или что они означают.
Теперь давайте рассмотрим несколько замечаний о переменном стиле. Стиль заключается в использовании MixedCaps
или mixedCaps
вместо подчеркивания для многословных имен.
Обычный стиль | Нетрадиционный стиль | Почему нетрадиционный |
---|---|---|
имя пользователя | имя_пользователя | Подчеркивания не обычные |
я | индекс | предпочитает i , а не , индекс , так как он короче |
serveHTTP | сервер http | аббревиатуры должны быть заглавными |
Самое главное в стиле - быть последовательным, и чтобы команда, над которой вы работаете, соответствовала стилю.
Переназначение переменных
Как подразумевает слово «переменная», мы можем легко изменить переменные Go. Это означает, что мы можем связать другое значение с ранее назначенной переменной посредством переназначения. Возможность переназначения полезна, потому что в ходе программы нам может потребоваться принимать значения, созданные пользователем, в уже инициализированные переменные. Нам также может потребоваться изменить назначение на что-то ранее определенное.
Знание того, что мы можем легко переназначить переменную, может быть полезно при работе над большой программой, написанной кем-то другим, и неясно, какие переменные уже определены.
Давайте присвоим значение 76
переменной с именем i
типа int
, а затем присвоим ей новое значение 42
:
пакет основной
импорт "FMT"
func main () {
я: = 76
fmt.Println (i)
я = 42
fmt.Println (i)
}
Выход
76
42
В этом примере показано, что мы можем сначала присвоить переменной i
целочисленное значение, а затем переназначить переменной i
, присвоив ей на этот раз значение 42
.
Примечание: Когда вы объявляете и инициализируете переменную, вы можете использовать : =
, однако, если вы хотите просто изменить значение уже объявленной переменной, вам нужно использовать только оператор равенства ( =
).
Поскольку Go - это типизированный язык
, мы не можем присвоить один тип другому. Например, мы не можем присвоить значение "Sammy"
переменной типа int
:
.
я: = 72
я = "Сэмми"
Попытка назначить разные типы друг другу приведет к ошибке времени компиляции:
Выход
не может использовать "Sammy" (строка типа) в качестве типа int в присваивании
Go не позволит нам использовать имя переменной более одного раза:
var s строка
var s строка
Выход
с повторно объявлен в этом блоке
Если мы попытаемся использовать краткое объявление переменной более одного раза для одного и того же имени переменной, мы также получим ошибку компиляции.Это может произойти по ошибке, поэтому полезно понять, что означает сообщение об ошибке:
я: = 5
я: = 10
Выход
нет новых переменных в левой части: =
Подобно объявлению переменных, рассмотрение имен ваших переменных улучшит читаемость вашей программы для вас и других, когда вы вернетесь к ней в будущем.
Множественное присвоение
Go также позволяет нам присваивать несколько значений нескольким переменным в одной строке.Каждое из этих значений может относиться к разному типу данных:
j, k, l: = «акула», 2,05, 15
fmt.Println (j)
fmt.Println (k)
fmt.Println (l)
Выход
акула
2,05
15
В этом примере переменная j
была присвоена строке "shark"
, переменная k
была присвоена float 2.05
, а переменная l
была присвоена целому числу 15
.
Такой подход к назначению нескольких переменных нескольким значениям в одной строке может уменьшить количество строк в вашем коде.Однако важно не снижать удобочитаемость меньшего количества строк кода.
Глобальные и локальные переменные
При использовании переменных в программе важно иметь в виду область видимости переменной . Область видимости переменной относится к конкретным местам, в которых она доступна из кода данной программы. Это означает, что не все переменные доступны из всех частей данной программы - некоторые переменные будут глобальными, а некоторые - локальными.
Глобальные переменные существуют вне функций.Локальные переменные существуют внутри функций.
Давайте посмотрим на глобальные и локальные переменные в действии:
пакет основной
импорт "FMT"
var g = "global"
func printLocal () {
l: = "местный"
fmt.Println (l)
}
func main () {
printLocal ()
fmt.Println (г)
}
Выход
местный
Глобальный
Здесь мы используем var g = "global"
для создания глобальной переменной вне функции. Затем мы определяем функцию printLocal ()
.Внутри функции назначается и распечатывается локальная переменная с именем l
. Программа завершается вызовом printLocal ()
и последующей печатью глобальной переменной g
.
Поскольку g
является глобальной переменной, мы можем ссылаться на нее в printLocal ()
. Давайте изменим предыдущую программу для этого:
пакет основной
импорт "FMT"
var g = "global"
func printLocal () {
l: = "местный"
fmt.Println (l)
fmt.Println (г)
}
func main () {
printLocal ()
fmt.Println (г)
}
Выход
местный
Глобальный
Глобальный
Начнем с объявления глобальной переменной g
, var g = "global"
. В функции main
мы вызываем функцию printLocal
, которая объявляет локальную переменную l
и распечатывает ее, fmt.Println (l)
. Затем printLocal
распечатывает глобальную переменную g
, fmt.Println (g)
. Несмотря на то, что g
не было определено в printLocal
, к нему можно было получить доступ, потому что он был объявлен в глобальной области.Наконец, функция main
также распечатывает g
.
Теперь попробуем вызвать локальную переменную вне функции:
пакет основной
импорт "FMT"
var g = "global"
func printLocal () {
l: = "местный"
fmt.Println (l)
}
func main () {
fmt.Println (l)
}
Мощность
не определено: л
Мы не можем использовать локальную переменную вне функции, в которой она назначена. Если вы попытаетесь это сделать, при компиляции вы получите ошибку undefined
.
Давайте посмотрим на другой пример, в котором мы используем одно и то же имя переменной для глобальной и локальной переменных:
пакет основной
импорт "FMT"
var num1 = 5
func printNumbers () {
число1: = 10
число2: = 7
fmt.Println (num1)
fmt.Println (num2)
}
func main () {
printNumbers ()
fmt.Println (num1)
}
Выход
10
7
5
В этой программе мы дважды объявили переменную num1
. Сначала мы объявили num1
в глобальной области видимости, var num1 = 5
и снова в локальной области функции printNumbers
, num1: = 10
.Когда мы печатаем num1
из основной программы
, мы видим распечатанное значение 5
. Это потому, что main
видит только объявление глобальной переменной. Однако, когда мы печатаем num1
из функции printNumbers
, она видит локальное объявление и распечатывает значение 10
. Несмотря на то, что printNumbers
создает новую переменную с именем num1
и присваивает ей значение 10
, это не влияет на глобальный экземпляр num1
со значением 5
.
При работе с переменными вам также необходимо учитывать, какие части вашей программы будут нуждаться в доступе к каждой переменной; соответственно, принимая глобальную или локальную переменную. В программах Go вы обнаружите, что локальные переменные обычно встречаются чаще.
Константы
Константы похожи на переменные, за исключением того, что их нельзя изменить после того, как они были объявлены. Константы полезны для определения значения, которое будет использоваться в вашей программе более одного раза, но не должно изменяться.
Например, если мы хотим объявить ставку налога для системы корзины покупок, мы могли бы использовать константу, а затем рассчитать налог в различных областях нашей программы. В какой-то момент в будущем, если изменится ставка налога, нам нужно будет изменить это значение только в одном месте нашей программы. Если мы использовали переменную, возможно, мы случайно изменили значение где-нибудь в нашей программе, что привело бы к неправильному вычислению.
Чтобы объявить константу, мы можем использовать следующий синтаксис:
const shark = "Сэмми"
fmt.Println (акула)
Выход
Сэмми
Если мы попытаемся изменить константу после того, как она была объявлена, мы получим ошибку времени компиляции:
Выход
нельзя присвоить акуле
Константы могут быть нетипизированными
. Это может быть полезно при работе с числами, такими как данные целочисленного типа. Если константа нетипизированная
, она явно преобразуется, а типизированные константы
- нет. Давайте посмотрим, как мы можем использовать константы:
пакет основной
импорт "FMT"
const (
год = 365
leapYear = int32 (366)
)
func main () {
часы: = 24
минут: = int32 (60)
fmt.Println (часы * год)
fmt.Println (минуты * год)
fmt.Println (минуты * високосный год)
}
Выход
8760
21900
21960
Если вы объявляете константу с типом, это будет именно такой тип. Здесь, когда мы объявляем константу leapYear
, мы определяем ее как тип данных int32
. Следовательно, это константа с типом , что означает, что она может работать только с типами данных
int32
. Константу года
мы объявляем без типа, поэтому она считается нетипизированной
.Благодаря этому вы можете использовать его с любым целочисленным типом данных.
Когда было определено часов
, он предположил, что имеет тип int
, потому что мы явно не указали ему тип часов: = 24
. Когда мы объявили минут
, мы явно объявили его как int32
, минут: = int32 (60)
.
Теперь давайте рассмотрим каждый расчет и объясним, почему он работает:
часов * год
В данном случае часов
- это int
, а лет
- это нетипизированный .Когда программа компилируется, она явно преобразует лет
в int
, что позволяет успешно выполнить операцию умножения.
минут * год
В этом случае минут
- это int32
, а год
- это нетипизированный . Когда программа компилируется, она явно преобразует лет
в int32
, что позволяет успешно выполнить операцию умножения.
минут * високосный год
В этом случае минут
- это int32
, а leapYear
- это типизированная константа из int32
.На этот раз компилятору нечего делать, поскольку обе переменные уже одного типа.
Если мы попытаемся умножить два типа, которые набраны
и несовместимы, программа не скомпилируется:
fmt.Println (часы * високосный год)
Вывод
недопустимая операция: часы * leapYear (несовпадающие типы int и int32)
В этом случае часов
было выведено как int
, а leapYear
явно объявлено как int32
.Поскольку Go является типизированным языком, int
и int32
несовместимы для математических операций. Чтобы умножить их, вам нужно будет преобразовать один в int32
или int
.
Заключение
В этом руководстве мы рассмотрели некоторые распространенные варианты использования переменных в Go. Переменные являются важным строительным блоком программирования, выступая в качестве символов, заменяющих значение типа данных, который мы используем в программе.
переменных в Python - настоящий Python
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python.Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Переменные в Python
В предыдущем руководстве по основным типам данных в Python вы увидели, как могут быть созданы значения различных типов данных Python. Но до сих пор все показанные значения были буквальными или постоянными значениями:
Если вы пишете более сложный код, вашей программе потребуются данные, которые могут изменяться по мере выполнения программы.
Вот что вы узнаете в этом руководстве: Вы узнаете, как каждый элемент данных в программе Python может быть описан абстрактным термином объект , и вы узнаете, как манипулировать объектами, используя символические имена, называемые переменные .
Пройдите тест: Проверьте свои знания с помощью нашей интерактивной викторины «Переменные Python». По завершении вы получите балл, чтобы вы могли отслеживать свой прогресс в обучении с течением времени:
Пройти тест »
Присвоение переменной
Рассматривайте переменную как имя, прикрепленное к определенному объекту. В Python переменные не нужно объявлять или определять заранее, как это имеет место во многих других языках программирования. Чтобы создать переменную, вы просто присваиваете ей значение, а затем начинаете ее использовать.Присваивание выполняется с помощью единственного знака равенства ( =
):
Это читается или интерпретируется как « n
присваивается значение 300
». Как только это будет сделано, n
можно использовать в операторе или выражении, и его значение будет заменено:
Так же, как буквальное значение может отображаться непосредственно из приглашения интерпретатора в сеансе REPL без необходимости print ()
, так может и переменная:
Позже, если вы измените значение n
и используете его снова, вместо него будет подставлено новое значение:
>>>
>>> п = 1000
>>> print (n)
1000
>>> п
1000
Python также позволяет назначать цепочки, что позволяет назначать одно и то же значение нескольким переменным одновременно:
>>>
>>> a = b = c = 300
>>> print (a, b, c)
300 300 300
Цепное присвоение, приведенное выше, одновременно присваивает 300
переменным a
, b
и c
.
Типы переменных в Python
Во многих языках программирования переменные имеют статическую типизацию. Это означает, что переменная изначально объявляется как имеющая определенный тип данных, и любое значение, присвоенное ей во время ее существования, всегда должно иметь этот тип.
Переменные в Python не подпадают под это ограничение. В Python переменной может быть присвоено значение одного типа, а затем повторно присвоено значение другого типа:
>>>
>>> var = 23.5
>>> print (var)
23,5
>>> var = "Теперь я строка"
>>> print (var)
Теперь я струна
Ссылки на объекты
Что на самом деле происходит, когда вы присваиваете переменную? Это важный вопрос для Python, потому что ответ несколько отличается от того, что вы найдете во многих других языках программирования.
Python - очень объектно-ориентированный язык. Фактически, практически каждый элемент данных в программе Python является объектом определенного типа или класса.(Этот момент будет повторяться много раз в ходе этих руководств.)
Рассмотрим этот код:
При представлении отчета print (300)
интерпретатор делает следующее:
- Создает целочисленный объект
- Придает значение
300
- Отображает на консоли
Вы можете видеть, что целочисленный объект создается с помощью встроенной функции type ()
:
>>>
>>> тип (300)
<класс 'int'>
Переменная Python - это символическое имя, которое является ссылкой или указателем на объект.После того, как объект назначен переменной, вы можете ссылаться на объект по этому имени. Но сами данные по-прежнему содержатся в объекте.
Например:
Это присвоение создает целочисленный объект со значением 300
и присваивает переменной n
, указывающей на этот объект.
Присвоение переменной
Следующий код проверяет, что n
указывает на целочисленный объект:
>>>
>>> print (n)
300
>>> тип (n)
<класс 'int'>
Теперь рассмотрим следующее утверждение:
Что происходит, когда он выполняется? Python не создает другой объект.Он просто создает новое символическое имя или ссылку, m
, которая указывает на тот же объект, на который указывает n
.
Множественные ссылки на один объект
Теперь предположим, что вы делаете это:
Теперь Python создает новый целочисленный объект со значением 400
, и m
становится ссылкой на него.
Ссылки на отдельные объекты
Наконец, предположим, что этот оператор выполняется следующим образом:
Теперь Python создает строковый объект со значением "foo"
и ссылается на него n
.
Осиротевший объект
Больше нет ссылки на целочисленный объект 300
. Он осиротел, и к нему нет доступа.
Учебники из этой серии иногда будут ссылаться на время жизни объекта. Жизнь объекта начинается с момента его создания, когда создается по крайней мере одна ссылка на него. Во время существования объекта могут быть созданы дополнительные ссылки на него, как вы видели выше, а также ссылки на него могут быть удалены. Объект как бы остается живым до тех пор, пока на него есть хотя бы одна ссылка.
Когда количество ссылок на объект падает до нуля, он становится недоступным. На этом его срок службы закончился. Python в конечном итоге заметит, что он недоступен, и освободит выделенную память, чтобы ее можно было использовать для чего-то другого. На компьютерном жаргоне этот процесс называется сборкой мусора.
Идентификация объекта
В Python каждому создаваемому объекту присваивается номер, который однозначно его идентифицирует. Гарантируется, что никакие два объекта не будут иметь одинаковый идентификатор в течение любого периода, в течение которого их время жизни перекрывается.Как только счетчик ссылок на объект упадет до нуля и он будет обработан сборщиком мусора, как это произошло с объектом 300
выше, его идентификационный номер становится доступным и может использоваться снова.
Встроенная функция Python id ()
возвращает целочисленный идентификатор объекта. Используя функцию id ()
, вы можете убедиться, что две переменные действительно указывают на один и тот же объект:
>>>
>>> п = 300
>>> т = п
>>> id (n)
60127840
>>> id (м)
60127840
>>> m = 400
>>> id (м)
60127872
После присвоения m = n
, m
и n
оба указывают на один и тот же объект, что подтверждается тем фактом, что id (m)
и id (n)
возвращают одно и то же число.После того, как m
переназначено на 400
, m
и n
указывают на разные объекты с разными идентификаторами.
Deep Dive: кэширование малых целочисленных значений
Исходя из того, что вы теперь знаете о присвоении переменных и ссылках на объекты в Python, вас, вероятно, не удивит следующее:
>>>
>>> m = 300 >>> п = 300 >>> id (м) 60062304 >>> id (n) 60062896
С оператором
m = 300
Python создает целочисленный объект со значением300
и устанавливаетm
в качестве ссылки на него.Затемn
аналогичным образом присваивается целочисленному объекту со значением300
- но не тому же объекту. Таким образом, они имеют разные идентификаторы, что вы можете проверить по значениям, возвращаемымid ()
.Но подумайте об этом:
>>>
>>> m = 30 >>> п = 30 >>> id (м) 1405569120 >>> id (n) 1405569120
Здесь
m
иn
отдельно назначаются целочисленным объектам, имеющим значение30
.Но в этом случаеid (m)
иid (n)
идентичны!В целях оптимизации интерпретатор создает объекты для целых чисел в диапазоне
[-5, 256]
при запуске, а затем повторно использует их во время выполнения программы. Таким образом, когда вы назначаете отдельные переменные целочисленному значению в этом диапазоне, они фактически будут ссылаться на один и тот же объект.
Имена переменных
В примерах, которые вы видели до сих пор, использовались короткие и лаконичные имена переменных, например m
и n
.Но имена переменных могут быть более подробными. Фактически, это обычно полезно, потому что это делает назначение переменной более очевидным с первого взгляда.
Официально имена переменных в Python могут быть любой длины и могут состоять из прописных и строчных букв ( A – Z
, a – z
), цифр ( 0–9
) и символа подчеркивания ( _
). Дополнительным ограничением является то, что, хотя имя переменной может содержать цифры, первый символ имени переменной не может быть цифрой.
Примечание: Одним из дополнений к Python 3 была полная поддержка Unicode, которая также позволяет использовать символы Unicode в имени переменной. Вы узнаете о Unicode более подробно в одном из будущих руководств.
Например, все следующие допустимые имена переменных:
>>>
>>> name = "Боб"
>>> Возраст = 54
>>> has_W2 = Истина
>>> print (имя, возраст, has_W2)
Боб 54 Верно
Но это не так, потому что имя переменной не может начинаться с цифры:
>>>
>>> 1099_filed = Ложь
SyntaxError: недопустимый токен
Обратите внимание, что регистр имеет значение.Строчные и прописные буквы - это не одно и то же. Также важно использование символа подчеркивания. Каждое из следующих значений определяет разные переменные:
>>>
>>> возраст = 1
>>> Возраст = 2
>>> aGe = 3
>>> ВОЗРАСТ = 4
>>> a_g_e = 5
>>> _age = 6
>>> age_ = 7
>>> _AGE_ = 8
>>> print (возраст, возраст, возраст, AGE, a_g_e, _age, age_, _AGE_)
1 2 3 4 5 6 7 8
Ничто не мешает вам создать две разные переменные в одной программе под названием age
и Age
, или, если на то пошло, agE
.Но, вероятно, это опрометчиво. Это, безусловно, может сбить с толку любого, кто пытается прочитать ваш код, и даже вас самого, после того, как вы некоторое время пробыли вдали от него.
Стоит дать переменной имя, которое достаточно информативно, чтобы было понятно, для чего она используется. Например, предположим, что вы подсчитываете количество людей, окончивших колледж. Вы могли бы выбрать любое из следующего:
>>>
>>> количество выпускников = 2500
>>> NUMBEROFCOLLEGRADUATES = 2500
>>> numberOfCollegeGraduates = 2500
>>> NumberOfCollegeGraduates = 2500
>>> number_of_college_graduates = 2500
>>> print (количество выпускников колледжа, ЧИСЛО КОЛЛЕГЕРАДОВ,
... numberOfCollegeGraduates, NumberOfCollegeGraduates,
... number_of_college_graduates)
2500 2500 2500 2500 2500
Все они, вероятно, лучший выбор, чем n
или ncg
или им подобные. По крайней мере, вы можете сказать по имени, что должно представлять значение переменной.
С другой стороны, не все они одинаково удобочитаемы. Как и во многих других случаях, это вопрос личных предпочтений, но большинство людей сочтут, что первые два примера, в которых все буквы сложены вместе, труднее читать, особенно букву, написанную заглавными буквами.Наиболее часто используемые методы построения имени переменной из нескольких слов - это последние три примера:
- Camel Регистр: Второе и последующие слова пишутся с заглавной буквы, чтобы границы слов было легче увидеть. (Предположительно, в какой-то момент кого-то поразило, что прописные буквы, разбросанные по всему имени переменной, отдаленно напоминают верблюжьи горбы.)
- Пример:
numberOfCollegeGraduates
- Пример:
- Паскаль регистр: Идентичен регистру верблюда, за исключением того, что первое слово также пишется с большой буквы.
- Пример:
NumberOfCollegeGraduates
- Пример:
- Змеиный регистр: Слова разделены подчеркиванием.
- Пример:
number_of_college_graduates
- Пример:
Программисты горячо, с удивительной страстью спорят, что из них предпочтительнее. За всех них можно привести достойные аргументы. Используйте то, что вам больше всего нравится визуально. Выберите один и используйте его постоянно.
Позже вы увидите, что не только переменным можно давать имена.Вы также можете давать имена функциям, классам, модулям и так далее. Правила, применяемые к именам переменных, также применяются к идентификаторам, более общему термину для имен, присваиваемых программным объектам.
Руководство по стилю кода Python, также известное как PEP 8 , содержит соглашения об именах, в которых перечислены предлагаемые стандарты для имен различных типов объектов. PEP 8 включает следующие рекомендации:
- Snake Case следует использовать для имен функций и переменных.
- Pascal.(В PEP 8 это называется соглашением «CapWords».)
Для имен классов следует использовать регистр
Зарезервированные слова (ключевые слова)
Есть еще одно ограничение на имена идентификаторов. В языке Python зарезервирован небольшой набор ключевых слов, которые обозначают особые языковые функции. Ни один объект не может иметь то же имя, что и зарезервированное слово.
В Python 3.6 зарезервировано 33 ключевых слова:
Python Ключевые слова | |||
---|---|---|---|
Ложь | деф | если | поднять |
Нет | del | импорт | возврат |
Истинный | Элиф | дюйм | попробовать |
и | остальное | это | , а |
как | кроме | лямбда | с |
утверждать | наконец | нелокальный | выход |
перерыв | для | не | |
класс | из | или | |
продолжить | по всему миру | проход |
Вы можете просмотреть этот список в любое время, набрав help («ключевые слова»)
в интерпретаторе Python.Зарезервированные слова чувствительны к регистру и должны использоваться точно так, как показано. Все они полностью строчные, за исключением False
, None
и True
.
Попытка создать переменную с тем же именем, что и любое зарезервированное слово, приводит к ошибке:
>>>
>>> for = 3
SyntaxError: недопустимый синтаксис
Заключение
В этом руководстве были рассмотрены основы переменных Python , включая ссылки на объекты и их идентификационные данные, а также присвоение имен идентификаторам Python.
Теперь вы хорошо разбираетесь в некоторых типах данных Python и знаете, как создавать переменные, которые ссылаются на объекты этих типов.
Далее вы увидите, как объединить объекты данных в выражения , включающие различные операции .
Пройдите тест: Проверьте свои знания с помощью нашей интерактивной викторины «Переменные Python». По завершении вы получите балл, чтобы вы могли отслеживать свой прогресс в обучении с течением времени:
Пройти тест »
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python.Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Переменные в Python
Документация
Learning with Python 2nd Edition
2.1. Значения и типы данных
Значение - это одна из фундаментальных вещей - например, буква или число -
что программа манипулирует. До сих пор мы видели значения 2 (
результат, когда мы сложили 1 + 1) и «Hello, World!».
Эти значения принадлежат к разным типам данных : 2 - это целое число и
"Привет, мир!" это строка , так называемая, потому что она содержит строку
письма.Вы (и интерпретатор) можете идентифицировать строки, потому что они
заключен в кавычки.
Оператор печати также работает с целыми числами.
Если вы не уверены, какой тип имеет значение, интерпретатор может сказать
ты.
>>> type ("Hello, World!") <тип 'str'> >>> тип (17) <тип int>
Неудивительно, что строки принадлежат типу str , а целые числа принадлежат типу
тип внутр . Менее очевидно, что числа с десятичной точкой относятся к типу
называется с плавающей запятой , потому что эти числа представлены в формате, называемом
с плавающей точкой .
>>> тип (3.2) <тип 'float'>
А как насчет таких значений, как «17» и «3,2»? Они похожи на числа, но они
находятся в кавычках, как строки.
>>> тип ("17") <тип 'str'> >>> тип ("3.2") <тип 'str'>
Это струны.
Строки в Python могут быть заключены в одинарные кавычки (‘) или двойные кавычки.
(”):
>>> type ('Это строка.') <тип 'str'> >>> type ("А это так.") <тип 'str'>
Строки в двойных кавычках могут содержать внутри одинарные кавычки, как в
«Борода Брюса», а строки в одинарных кавычках могут иметь двойные кавычки.
внутри них, как в «Рыцари, которые говорят« Ни! »».
Когда вы вводите большое целое число, у вас может возникнуть соблазн использовать запятые между
группы из трех цифр, как в 1,000,000. Это недопустимое целое число в
Python, но это законно:
>>> распечатать 1,000,000 1 0 0
Ну, это совсем не то, чего мы ожидали! Python интерпретирует 1000000 как
список из трех предметов для печати.Так что не забывайте запятые в
целые числа.
2.2. Переменные
Одна из самых мощных функций языка программирования - это способность
манипулировать переменными . Переменная - это имя, которое относится к значению.
Оператор присваивания создает новые переменные и дает им
значения:
>>> message = "Как дела, Док?" >>> п = 17 >>> пи = 3,14159
В этом примере выполняются три назначения.Первый присваивает строку «Что
вверх, Doc? "в новую переменную с именем message. Вторая возвращает целое число
17 в n, а третий дает число с плавающей запятой 3.14159 в
Пи.
Оператор присваивания , =, не следует путать со знаком равенства.
(даже если он использует тот же символ). Операторы присваивания связывают имя ,
слева от оператора, со значением справа.
Вот почему вы получите сообщение об ошибке, если введете:
Распространенный способ представить переменные на бумаге - написать имя стрелкой.
указывая на значение переменной.Такая фигура называется состоянием .
диаграмма , потому что она показывает, в каком состоянии находится каждая из переменных (подумайте об этом
как душевное состояние переменной). На этой диаграмме показан результат
операторы присваивания:
Оператор печати также работает с переменными.
>>> распечатать сообщение Что случилось док? >>> напечатайте n 17 >>> выведите пи 3,14159
В каждом случае результатом является значение переменной. Переменные также имеют
типы; опять же, мы можем спросить переводчика, что это такое.
>>> тип (сообщение) <тип 'str'> >>> тип (n) <тип int> >>> тип (пи) <тип 'float'>
Тип переменной - это тип значения, к которому она относится.
2.3. Имена переменных и ключевые слова
Программисты обычно выбирают имена для своих переменных, которые имеют смысл -
они документируют, для чего используется переменная.
Имена переменных могут быть произвольно длинными. Они могут содержать как буквы, так и
числа, но они должны начинаться с буквы.Хотя использование разрешено
прописные буквы, по соглашению мы не используем. Если да, вспомни тот случай
имеет значение. Брюс и Брюс - разные переменные.
В имени может присутствовать символ подчеркивания (_). Часто используется в
имена, состоящие из нескольких слов, например my_name или price_of_tea_in_china.
Если вы дадите переменной недопустимое имя, вы получите синтаксическую ошибку:
>>> 76trombones = "большой парад" SyntaxError: недопустимый синтаксис >>> еще $ = 1000000 SyntaxError: недопустимый синтаксис >>> class = "Информатика 101" SyntaxError: недопустимый синтаксис
76trombones является незаконным, потому что он не начинается с буквы.больше $
является незаконным, поскольку содержит недопустимый символ - знак доллара. Но
что не так с классом?
Оказывается, класс - это одно из ключевых слов Python . Ключевые слова определяют
правила и структура языка, и их нельзя использовать в качестве имен переменных.
Python имеет тридцать одно ключевое слово:
и | как | assert | перерыв | класс | продолжить |
деф | del | Элиф | еще | кроме | исполнительный |
наконец | для | из | глобальный | если | импорт |
дюйм | это | лямбда | не | или | пасс |
печать | поднять | возврат | попробовать | , а | с |
выход |
Вы можете держать этот список под рукой.Если переводчик жалуется на одного
имен ваших переменных, и вы не знаете почему, посмотрите, есть ли она в этом списке.
2.4. Заявления
Оператор - это инструкция, которую может выполнить интерпретатор Python. Мы
видели два вида операторов: печать и присваивание.
Когда вы вводите оператор в командной строке, Python выполняет его и отображает
результат, если он есть. Результатом оператора печати является значение.
Заявления о назначении не дают результата.
Сценарий обычно содержит последовательность операторов. Если их больше одного
оператор, результаты появляются по одному по мере выполнения операторов.
Например, скрипт
выдает результат:
Опять же, оператор присваивания ничего не выводит.
2,5. Вычисление выражений
Выражение представляет собой комбинацию значений, переменных и операторов. если ты
введите выражение в командной строке, интерпретатор оценит его и
отображает результат:
Оценка выражения дает значение, поэтому выражения
может появляться справа от операторов присваивания.Ценность все по
сам по себе является простым выражением, как и переменная.
Как ни странно, оценка выражения - это не совсем то же самое, что печать
ценить.
>>> message = "Как дела, Док?" >>> сообщение "Что случилось док?" >>> распечатать сообщение Что случилось док?
Когда оболочка Python отображает значение выражения, она использует то же
формат, который вы использовали бы для ввода значения. В случае строк это означает, что
он включает кавычки.Но оператор печати выводит значение
выражение, которое в данном случае является содержимым строки.
В сценарии выражение само по себе является законным утверждением, но не
Делать что-нибудь. Скрипт
17 3.2 "Привет, мир!" 1 + 1
вообще ничего не выводит. Как бы вы изменили сценарий для отображения
значения этих четырех выражений?
2,6. Операторы и операнды
Операторы - это специальные символы, которые представляют вычисления, такие как сложение и
умножение.Значения, которые использует оператор, называются операндами .
Ниже приведены все допустимые выражения Python, значение которых более или менее
ясно:
20 + 32 час-1 час * 60 + минута минута / 60 5 ** 2 (5 + 9) * (15-7)
Символы +, - и /, а также использование скобок для группировки,
означают в Python то, что они значат в математике. Звездочка (*) - это
символ умножения, а ** символ возведения в степень.
Когда имя переменной появляется вместо операнда, оно заменяется на
его значение до выполнения операции.
Сложение, вычитание, умножение и возведение в степень - все делают то, что вы
ожидайте, но вы можете быть удивлены разделением. Следующая операция имеет
неожиданный результат:
>>> минута = 59 >>> минут / 60 0
Значение минуты равно 59, а 59, разделенное на 60, дает 0,98333, а не 0.
Причина расхождения в том, что Python выполняет целочисленное деление .
Если оба операнда являются целыми числами, результат также должен быть целым числом, и
по соглашению, целочисленное деление всегда округляет вниз до , даже в таких случаях
где следующее целое число очень близко.
Возможное решение этой проблемы - вычислить процент, а не
фракция:
Снова результат округляется в меньшую сторону, но, по крайней мере, теперь ответ примерно
верный. Другой альтернативой является использование деления с плавающей запятой. Мы увидим в
глава 4 как преобразовать целочисленные значения и переменные в числа с плавающей запятой
ценности.
2,7. Порядок работы
Если в выражении присутствует более одного оператора, порядок оценки
зависит от правил приоритета .Python следует тому же приоритету
правила для своих математических операторов, которые делает математика. Аббревиатура PEMDAS
полезный способ запомнить порядок операций:
- P аренты имеют наивысший приоритет и могут использоваться для принудительного выполнения
выражение для оценки в желаемом порядке. Поскольку выражения в
скобки оцениваются первыми, 2 * (3-1) равно 4, а (1 + 1) ** (5-2) равно
8. Вы также можете использовать круглые скобки, чтобы облегчить чтение выражения, как в
(минута * 100) / 60, даже если результат не изменится. - E xponentiation имеет следующий высший приоритет, поэтому 2 ** 1 + 1 равно 3 и
не 4, а 3 * 1 ** 3 равно 3, а не 27. - M ultiplication и D ivision имеют одинаковый приоритет, т.е.
выше, чем A ddition и S ubtraction, которые также имеют одинаковые
приоритет. Таким образом, 2 * 3-1 дает 5, а не 4, а 2 / 3-1 равно -1, а не 1.
(помните, что при целочисленном делении 2/3 = 0). - Операторы с одинаковым приоритетом оцениваются слева направо.Так что в
выражение минута * 100/60, умножение происходит первым, давая
5900/60, что, в свою очередь, дает 98. Если бы операции были оценены из
справа налево, результат был бы 59 * 1, то есть 59, то есть
неправильный.
2,8. Операции над строками
В общем, вы не можете выполнять математические операции со строками, даже если
строки выглядят как числа. Следующее недопустимо (при условии, что сообщение
имеет строку типа):
сообщение-1 «Привет» / 123 сообщение * «Привет» «15» +2
Интересно, что оператор + работает со строками, но не
делайте именно то, что вы могли ожидать.Для строк оператор + представляет
конкатенация , что означает соединение двух операндов путем их связывания.
концы с концами. Например:
fruit = "банан" baked_good = "ореховый хлеб" печать фруктов + baked_good
Результатом этой программы является банановый ореховый хлеб. Пробел перед словом
гайка является частью струны и необходима для создания промежутка между
сцепленные строки.
Оператор * также работает со строками; он выполняет повторение. Например,
«Fun» * 3 - это «FunFunFun».Один из операндов должен быть строкой; в
other должно быть целым числом.
С одной стороны, такое толкование + и * имеет смысл по аналогии с
сложение и умножение. Так же, как 4 * 3 эквивалентно 4 + 4 + 4, мы
ожидайте, что "Fun" * 3 будет таким же, как "Fun" + "Fun" + "Fun", и это так. На
с другой стороны, существует значительный способ конкатенации строк и
повторение отличается от целочисленного сложения и умножения. Ты можешь
подумайте о том, что сложение и умножение имеют эту строку
конкатенации и повторения нет?
2.9. Ввод
.
В Python есть две встроенные функции для ввода с клавиатуры:
n = raw_input ("Пожалуйста, введите ваше имя:") напечатать n n = input ("Введите числовое выражение:") напечатать n
Пример выполнения этого сценария будет выглядеть примерно так:
$ python tryinput.py Пожалуйста, введите свое имя: Артур, король бриттов Артур, король бриттов Введите числовое выражение: 7 * 3 21 год
Каждая из этих функций позволяет выдавать подсказку функции между
круглые скобки.
2.10. Композиция
Итак, мы рассмотрели элементы программы - переменные, выражения,
а высказывания - по отдельности, не говоря о том, как их совместить.
Одной из наиболее полезных функций языков программирования является их способность
возьмите небольшие строительные блоки и составьте из них . Например, мы умеем
складываем числа, и мы умеем печатать; оказывается, мы можем делать и то, и другое одновременно
время:
На самом деле добавление должно произойти до печати, поэтому действия
на самом деле не происходят одновременно.Дело в том, что любое выражение
с числами, строками и переменными можно использовать внутри оператора печати.
Вы уже видели такой пример:
print "Количество минут с полуночи:", час * 60 + минута
Вы также можете помещать произвольные выражения в правую часть присваивания.
выписка:
процентов = (минуты * 100) / 60
Сейчас эта способность может показаться не впечатляющей, но вы увидите другие примеры, где
композиция позволяет аккуратно выражать сложные вычисления и
лаконично.
Предупреждение. Существуют ограничения на использование определенных выражений. Для
Например, левая часть оператора присваивания должна быть
переменная имя, а не выражение. Итак, следующее незаконно:
минута + 1 = час.
2.12. Глоссарий
- оператор присвоения
- = - это оператор присваивания Python, который не следует путать
с математическим оператором сравнения, использующим тот же символ. - заявление о переуступке
Оператор, присваивающий значение имени (переменной).Слева от
оператор присваивания = - это имя. Справа от
оператор присваивания - это выражение, которое вычисляется Python
переводчик, а затем присваивается имя. Разница между
левая и правая части оператора присваивания часто
сбивает с толку новых программистов. В следующем задании:n играет совершенно разную роль по обе стороны от знака =. На
справа это значение и составляет часть выражения , которое будет
быть оцененным интерпретатором Python перед присвоением его имени
налево.- Информация в программе, предназначенная для других программистов (или кого-либо
чтение исходного кода) и не влияет на выполнение
программа. - состав
- Возможность комбинировать простые выражения и утверждения в составные
операторы и выражения для представления сложных вычислений
лаконично. - объединить
- Для соединения двух струн встык.
- тип данных
- Набор значений. Тип значения определяет, как его можно использовать в
выражения.До сих пор вы видели целые числа (введите
int), числа с плавающей запятой (тип float) и строки (тип
ул). - оценить
- Чтобы упростить выражение, выполнив операции для
дают одно значение. - выражение
- Комбинация переменных, операторов и значений, представляющая
единственное значение результата. - с плавающей запятой
- Тип данных Python, в котором хранится чисел с плавающей запятой и чисел.
Числа с плавающей запятой хранятся внутри в двух частях: основание , и
показатель степени .При печати в стандартном формате они выглядят как
десятичные числа. Остерегайтесь ошибок округления при использовании чисел с плавающей запятой,
и помните, что это только приблизительные значения. - внутренний
- Тип данных Python, содержащий положительные и отрицательные целые числа.
- целочисленное деление
- Операция, которая делит одно целое число на другое и возвращает целое число.
Целочисленное деление дает только то количество раз, которое
числитель делится на знаменатель и отбрасывает остаток. - ключевое слово
- Зарезервированное слово, используемое компилятором для анализа программы; ты
нельзя использовать такие ключевые слова, как if, def и while, в качестве переменных
имена. - операнд
- Одно из значений, с которым работает оператор.
- оператор
- Специальный символ, представляющий простое вычисление, такое как сложение,
умножение или конкатенация строк. - правила старшинства
- Набор правил, определяющих порядок, в котором выражения, включающие
оцениваются несколько операторов и операндов. - диаграмма состояний
- Графическое представление набора переменных и значений для
на которые они ссылаются. - выписка
- Инструкция, которую может выполнить интерпретатор Python. Примеры
операторы включают оператор присваивания и оператор печати. - ул.
- Тип данных Python, содержащий строку символов.
- значение
- Число или строка (или другие названия, которые будут названы позже), которые могут быть
хранится в переменной или вычисляется в выражении. - переменная
- Имя, относящееся к значению.
- имя переменной
- Имя, присвоенное переменной. Имена переменных в Python состоят из
последовательность букв (a..z, A..Z и _) и цифр (0..9), которая начинается
с письмом. В лучшей практике программирования имена переменных должны быть
выбраны так, чтобы они описывали свое использование в программе, делая
программа самодокументирующая .
2.13. Упражнения
Запишите, что происходит, когда вы печатаете оператор присваивания:
Как насчет этого?
Или это?
>>> печать 5.2, «это», 4–2, «то», 5 / 2,0
Можете ли вы придумать общее правило того, что может следовать за печатью?
утверждение? Что возвращает оператор печати?Возьмите приговор: Вся работа и отсутствие развлечений делают Джека скучным мальчиком.
Сохраните каждое слово в отдельной переменной, затем распечатайте предложение на
одна строка с использованием печати.Добавьте круглые скобки к выражению 6 * 1-2, чтобы изменить его значение.
от 4 до -6.Поместите комментарий перед строкой кода, которая ранее работала, и
запишите, что происходит при повторном запуске программы.Разница между input и raw_input заключается в том, что input
оценивает входную строку, а raw_input - нет. Попробуйте следующее
в интерпретаторе и запишите, что происходит:>>> х = вход () 3,14 >>> тип (x)
>>> х = raw_input () 3,14 >>> тип (x)
>>> х = вход () «Рыцари, которые говорят« ни! »» >>> х
Что произойдет, если вы попробуете приведенный выше пример без кавычек?
>>> х = вход () Рыцари, которые говорят "ни!" >>> х
>>> х = raw_input () «Рыцари, которые говорят« ни! »» >>> х
Опишите и объясните каждый результат.
Запустите интерпретатор Python и введите в командной строке bruce + 4.
Это даст вам ошибку:NameError: имя 'Брюс' не определено
Присвойте Брюсу значение, чтобы Брюс + 4 оценивался как 10.
Напишите программу (сценарий Python) с именем madlib.py, которая запрашивает
пользователь может ввести ряд существительных, глаголов, прилагательных, наречий, множественного числа
существительные, глаголы прошедшего времени и т. д., а затем генерирует абзац, который
синтаксически правильный, но семантически нелепый
(см. http: // madlibs.org для примеров).
Хранение необходимой информации - Переменные - Изучение веб-разработки
После прочтения пары последних статей вы должны теперь знать, что такое JavaScript, что он может для вас сделать, как вы используете его вместе с другими веб-технологиями и каковы его основные функции похоже с высокого уровня. В этой статье мы перейдем к реальным основам, посмотрев, как работать с самыми основными строительными блоками JavaScript - переменными.
Предварительные требования: | Базовая компьютерная грамотность, базовое понимание HTML и CSS, понимание того, что такое JavaScript. |
---|---|
Цель: | Чтобы познакомиться с основами переменных JavaScript. |
В этой статье вам будет предложено ввести строки кода, чтобы проверить ваше понимание содержания. Если вы используете обозреватель настольного компьютера, лучшим местом для ввода образца кода является консоль JavaScript вашего обозревателя (дополнительные сведения о том, как получить доступ к этому инструменту, см. В разделе «Что такое инструменты разработчика обозревателя»).
Переменная - это контейнер для значения, например числа, которое мы можем использовать в сумме, или строки, которую мы можем использовать как часть предложения.
Пример переменной
Давайте посмотрим на простой пример:
const buttonA = document.querySelector ('# button_A');
const headingA = document.querySelector ('# заголовок_A');
buttonA.onclick = function () {
let name = prompt ('Как тебя зовут?');
alert ('Привет' + имя + ', приятно тебя видеть!');
headingA.textContent = 'Добро пожаловать' + имя;
}
В этом примере нажатие кнопки запускает код.В первой строке на экране появляется окно, в котором читателю предлагается ввести свое имя, а затем значение сохраняется в переменной. Вторая строка отображает приветственное сообщение, которое включает их имя, взятое из значения переменной, а третья строка отображает это имя на странице.
Без переменной
Чтобы понять, почему это так полезно, давайте подумаем, как написать этот пример без использования переменной. Это будет выглядеть примерно так:
const buttonB = документ.querySelector ('# button_B');
const headingB = document.querySelector ('# заголовок_B');
buttonB.onclick = function () {
alert ('Привет' + подсказка ('Как тебя зовут?') + ', приятно тебя видеть!');
headingB.textContent = 'Добро пожаловать' + подсказка ('Как тебя зовут?');
}
Возможно, вы не совсем понимаете синтаксис, который мы используем (пока!), Но вы должны иметь представление. Если бы у нас не было доступных переменных, нам пришлось бы спрашивать читателя их имя каждый раз, когда нам нужно было его использовать!
Переменные просто имеют смысл, и по мере того, как вы узнаете больше о JavaScript, они станут вашей второй натурой.
Одна особенность переменных заключается в том, что они могут содержать что угодно - не только строки и числа. Переменные также могут содержать сложные данные и даже целые функции, чтобы делать удивительные вещи. Вы узнаете об этом больше по мере продвижения.
Примечание: Мы говорим, что переменные содержат значения. Это важное различие. Переменные - это не сами значения; они являются контейнерами для ценностей. Вы можете думать о них как о маленьких картонных коробках, в которых вы можете хранить вещи.
Чтобы использовать переменную, вам сначала нужно ее создать - точнее, мы называем это объявлением переменной. Для этого мы вводим ключевое слово var
или let
, за которым следует имя, которое вы хотите назвать своей переменной:
Здесь мы создаем две переменные с именами myName
и myAge
. Попробуйте ввести эти строки в консоль вашего веб-браузера. После этого попробуйте создать переменную (или две) с вашим собственным выбором имени.
Примечание: В JavaScript все инструкции кода должны заканчиваться точкой с запятой (;
) - ваш код может работать правильно для отдельных строк, но, вероятно, не будет, когда вы пишете несколько строк кода вместе.Постарайтесь выработать привычку включать его.
Вы можете проверить, существуют ли теперь эти значения в среде выполнения, введя только имя переменной, например
В настоящее время они не имеют ценности; это пустые контейнеры. Когда вы вводите имена переменных, вы должны получить значение undefined
. Если их нет, вы получите сообщение об ошибке - попробуйте ввести
Примечание: Не путайте переменную, которая существует, но не имеет определенного значения, с переменной, которой вообще не существует - это разные вещи.В аналогии с блоком, которую вы видели выше, отсутствие значения будет означать, что нет блока (переменной) для ввода значения. Отсутствие определенного значения будет означать, что поле есть, но у него нет значения внутри.
После того, как вы объявили переменную, вы можете инициализировать ее значением. Для этого нужно ввести имя переменной, за которым следует знак равенства ( =
), а затем значение, которое вы хотите присвоить. Например:
myName = 'Крис';
myAge = 37;
Попробуйте сейчас вернуться к консоли и ввести эти строки.Вы должны увидеть значение, которое вы присвоили переменной, возвращаемой в консоли, чтобы подтвердить его в каждом случае. Опять же, вы можете вернуть значения своих переменных, введя их имя в консоль - попробуйте еще раз:
Вы можете объявить и инициализировать переменную одновременно, например:
Вероятно, это то, что вы будете делать в большинстве случаев, поскольку это быстрее, чем выполнение двух действий в двух отдельных строках.
В этот момент вы можете подумать: «Зачем нам нужны два ключевых слова для определения переменных? Почему var
и let
?».
Причины несколько исторические. Когда был впервые создан JavaScript, было всего var
. В большинстве случаев это работает нормально, но у него есть некоторые проблемы в том, как он работает - его дизайн иногда может сбивать с толку или прямо раздражать. Итак, let
было создано в современных версиях JavaScript, новое ключевое слово для создания переменных, которое работает несколько иначе, чем var
, исправляя его проблемы в процессе.
Ниже объясняется пара простых отличий.Мы не будем сейчас вдаваться во все различия, но вы начнете обнаруживать их, когда узнаете больше о JavaScript (если вы действительно хотите прочитать о них сейчас, не стесняйтесь проверить нашу справочную страницу let).
Для начала, если вы напишете многострочную программу JavaScript, которая объявляет и инициализирует переменную, вы можете фактически объявить переменную с var
после ее инициализации, и она все равно будет работать. Например:
myName = 'Крис';
function logName () {
консоль.журнал (myName);
}
logName ();
var myName;
Примечание: Это не сработает при вводе отдельных строк в консоль JavaScript, только при запуске нескольких строк JavaScript в веб-документе.
Это работает из-за подъема - прочтите var подъема для более подробной информации по этому вопросу.
Подъем больше не работает с let
. Если мы изменим var
на let
в приведенном выше примере, произойдет сбой с ошибкой.Это хорошо - объявление переменной после ее инициализации приводит к запутанному и сложному пониманию кода.
Во-вторых, когда вы используете var
, вы можете объявлять одну и ту же переменную сколько угодно раз, но с let
вы не можете. Следующее будет работать:
var myName = 'Крис';
var myName = 'Боб';
Но следующее вызовет ошибку во второй строке:
пусть myName = 'Крис';
пусть myName = 'Боб';
Вместо этого вам нужно будет сделать это:
пусть myName = 'Крис';
myName = 'Боб';
Опять же, это разумное языковое решение.Нет причин повторно объявлять переменные - это только сбивает с толку.
По этим и другим причинам мы рекомендуем использовать в коде как можно больше let
, а не var
. Нет причин использовать var
, если только вам не нужно поддерживать старые версии Internet Explorer своим кодом (он не поддерживает let
до версии 11; современный браузер Microsoft Edge поддерживает let
просто отлично).
После того, как переменная была инициализирована значением, вы можете изменить (или обновить) это значение, присвоив ему другое значение.Попробуйте ввести в консоль следующие строки:
myName = 'Боб';
myAge = 40;
Помимо правил именования переменных
Вы можете вызывать переменную практически как угодно, но есть ограничения. Как правило, следует использовать только латинские символы (0-9, a-z, A-Z) и символ подчеркивания.
- Вы не должны использовать другие символы, потому что они могут вызывать ошибки или быть трудными для понимания международной аудиторией.
- Не используйте символы подчеркивания в начале имен переменных - это используется в некоторых конструкциях JavaScript для обозначения определенных вещей, поэтому может запутать.
- Не используйте числа в начале переменных. Это недопустимо и вызывает ошибку.
- Безопасное соглашение, которого следует придерживаться, - это так называемый «нижний регистр», когда вы склеиваете несколько слов, используя нижний регистр для всего первого слова, а затем заглавные буквы в последующих словах. До сих пор мы использовали это для имен наших переменных в статье.
- Сделайте имена переменных интуитивно понятными, чтобы они описывали содержащиеся в них данные. Не используйте только отдельные буквы / цифры или длинные длинные фразы.
- Переменные чувствительны к регистру, поэтому
myage
- это переменная, отличная отmyAge
. - И последнее замечание: вам также следует избегать использования зарезервированных слов JavaScript в качестве имен переменных - под этим мы подразумеваем слова, которые составляют фактический синтаксис JavaScript! Таким образом, вы не можете использовать такие слова, как
var
,function
,let
идля
в качестве имен переменных. Браузеры распознают их как разные элементы кода, поэтому вы получите ошибки.
Примеры удачных названий:
возраст мой возраст в этом initialColor finalOutputValue audio1 audio2
Примеры плохого имени:
1 а _12 мой возраст МОЙ ВОЗРАСТ вар Документ skjfndskjfnbdskjfb это очень долго, глупо, переменная, фамилия, человек
Попробуйте создать еще несколько переменных, учитывая приведенное выше руководство.
Есть несколько различных типов данных, которые мы можем хранить в переменных. В этом разделе мы кратко их опишем, а затем в следующих статьях вы узнаете о них более подробно.
Пока мы рассмотрели первые два, но есть и другие.
Числа
Вы можете хранить числа в переменных, либо целые числа, например 30 (также называемые целыми числами), либо десятичные числа, такие как 2.456 (также называемые числами с плавающей запятой или числами с плавающей запятой). Вам не нужно объявлять типы переменных в JavaScript, в отличие от некоторых других языков программирования. Когда вы даете переменной числовое значение, вы не включаете кавычки:
Строки
Строки - это фрагменты текста.Когда вы даете переменной строковое значение, вам нужно заключить его в одинарные или двойные кавычки; в противном случае JavaScript пытается интерпретировать его как другое имя переменной.
let dolphinGoodbye = 'До свидания и спасибо за рыбу';
Логические значения
Логические значения являются истинными / ложными значениями - они могут иметь два значения: истинное
или ложное
. Обычно они используются для проверки условия, после чего выполняется соответствующий код. Так, например, простой случай:
В то время как на самом деле это будет примерно так:
Используется оператор «меньше» ( <
), чтобы проверить, меньше ли 6, чем 3.Как и следовало ожидать, он возвращает false
, потому что 6 не меньше 3! Позже вы узнаете о таких операторах намного больше.
Массивы
Массив - это один объект, содержащий несколько значений, заключенных в квадратные скобки и разделенных запятыми. Попробуйте ввести в консоль следующие строки:
let myNameArray = ['Крис', 'Боб', 'Джим'];
пусть myNumberArray = [10, 15, 40];
После того, как эти массивы определены, вы можете получить доступ к каждому значению по их положению в массиве.Попробуйте эти строки:
myNameArray [0];
myNumberArray [2];
Квадратные скобки указывают значение индекса, соответствующее положению возвращаемого значения. Вы могли заметить, что массивы в JavaScript имеют нулевой индекс: первый элемент имеет индекс 0.
Вы узнаете гораздо больше о массивах в следующей статье.
Объекты
В программировании объект - это структура кода, моделирующая реальный объект. У вас может быть простой объект, представляющий коробку и содержащий информацию о его ширине, длине и высоте, или у вас может быть объект, представляющий человека и содержащий данные об их имени, росте, весе, на каком языке они говорят, как поздороваться с ними и многое другое.
Попробуйте ввести в консоль следующую строку:
let dog = {name: 'Spot', порода: 'Далматин'};
Чтобы получить информацию, хранящуюся в объекте, вы можете использовать следующий синтаксис:
На данный момент мы больше не будем рассматривать объекты - вы можете узнать о них больше в одном из будущих модулей.
JavaScript - это «язык с динамической типизацией», что означает, что, в отличие от некоторых других языков, вам не нужно указывать, какой тип данных будет содержать переменная (числа, строки, массивы и т. Д.).
Например, если вы объявляете переменную и даете ей значение, заключенное в кавычки, браузер обрабатывает переменную как строку:
Даже если значение содержит числа, это все равно строка, поэтому будьте осторожны:
пусть myNumber = '500';
typeof myNumber;
myNumber = 500;
typeof myNumber;
Попробуйте ввести четыре строки выше в консоль одну за другой и посмотрите, каковы будут результаты. Вы заметите, что мы используем специальный оператор под названием typeof
- он возвращает тип данных переменной, которую вы вводите после него.При первом вызове он должен вернуть string
, поскольку в этот момент переменная myNumber
содержит строку '500'
. Взгляните и посмотрите, что он возвращает, когда вы его вызываете во второй раз.
Многие языки программирования имеют концепцию константы - значение, которое однажды объявлено, не может быть изменено. Есть много причин, по которым вы захотите это сделать, от безопасности (если сторонний скрипт изменил такие значения, это может вызвать проблемы) до отладки и понимания кода (труднее случайно изменить значения, которые не следует изменять, и беспорядок. вещи вверх).
На заре JavaScript констант не существовало. В современном JavaScript у нас есть ключевое слово const
, которое позволяет нам хранить значения, которые нельзя изменить:
const daysInWeek = 7;
const hoursInDay = 24;
const
работает точно так же, как let
, за исключением того, что вы не можете присвоить const
новое значение. В следующем примере вторая строка выдала бы ошибку:
const daysInWeek = 7;
daysInWeek = 8;
Вы дошли до конца этой статьи, но можете ли вы вспомнить самую важную информацию? Вы можете найти дополнительные тесты, чтобы убедиться, что вы сохранили эту информацию, прежде чем двигаться дальше - см. Проверка своих навыков: переменные.
К настоящему времени вы должны знать достаточно много о переменных JavaScript и о том, как их создавать. В следующей статье мы более подробно остановимся на числах и рассмотрим, как выполнять базовую математику в JavaScript.