Переменные.
Технологии и методы программирования
Далее мы часто будем обращаться к формуле перевода из шкалы в градусах по Цельсию (Тс) в шкалу в градусах по Фаренгейту (?": Определим значение TF при То равном 26. Создадим переменную с именем cel, содержащую значение целочисленного типа 26: Если вспомнить, что сначала вычисляется правая часть выражения, то все станет на свои места. Содержимое переменной у можно вывести на экран, если… Читать ещё >
Переменные. Технологии и методы программирования (реферат, курсовая, диплом, контрольная)
Рассмотрим выражение у = х + 3 * 6, где у и х являются переменными, которые могут содержать некоторые значения. На языке Python вычислить значение у при х равном 1 можно следующим образом:
>>> X = 1
>" у = х + 3 * б.
>>> у.
В выражении нельзя использовать переменную, если ранее ей нс было присвоено значение с помощью инструкции присваивания. Для Python такие переменные не определены, и их использование приведет к ошибке.
Содержимое переменной у можно вывести на экран, если в интерактивном режиме ввести ее имя.
Имена переменным задает программист, но есть несколько ограничений, связанных с их наименованием. Имена переменных нельзя начинать с цифры и в качестве имен переменных нельзя использовать ключевые слова, которые для Python имеют определенный смысл (эти слова подсвечиваются в IDLE оранжевым цветом, табл. 4.2).
Таблица 4.2
Ключевые слова Python
and. | as. | assert. | break. | class. | continue. |
def. | del. | elif. | else. | except. | exec. |
finally. | for. | from. | global. | if. | import. |
in. | is. | lambda. | nonlocal. | not. | or. |
pass. | raise. | return. | try. | while. | with. |
yield. | True. | False. | None. | ; | ; |
Далее мы часто будем обращаться к формуле перевода из шкалы в градусах по Цельсию (Тс) в шкалу в градусах по Фаренгейту (?":
TF = 9/5 * ТС + 32.
Определим значение TF при То равном 26. Создадим переменную с именем cel, содержащую значение целочисленного типа 26:
>" cel = 26 >" cel 26.
«> 9/5 * cel + 32 78.80 000 000 000 001.
В момент выполнения инструкции присваивания cel = 26 в памяти компьютера создается объект (рис. 4.3), расположенный по некоторому адресу (условно обозначим его как id 1), имеющий значение 26 целочисленного типа int. Затем создается переменная с именем cel, которой присваивается адрес объекта id 1.
Рис. 4.3. Модель памяти для выражения cel = 261.
Таким образом, переменные в Python содержат адреса объектов. Иначе можно сказать, что переменные ссылаются на объекты. Тип переменной определяется типом объекта, на который она ссылается. В дальнейшем для упрощения будем говорить, что переменная хранит значение.
Вычисление следующего выражения приведет к присваиванию переменной cel значения 72, т. е. сначала вычисляется правая часть, затем результат присваивается левой части:
>>> cel =26+46 >>> cel 72.
Рассмотрим более сложный пример:
«> diff = 20 «> double = 2 * diff >>> double 40.
Во втором выражении в первую очередь произойдет вычисление правой части, где на место переменной diff подставится значение 20, и результат вычисления присвоится переменной double. По окончании вычислений память будет иметь вид, представленный на рис. 4.4.
Рис. 4.4. Схема памяти Python при работе с переменными.
Далее присвоим переменной cliff значение 5 и выведем на экран содержимое переменных double и diff:
«> diff = 5 >» double 40.
>" diff 5.
В момент присваивания переменной diff значения 5 в памяти (рис. 4.5) создастся объект по адресу id3, содержащий целочисленное значение 5. После этого изменится содержимое переменной diff, вместо адреса id туда запишется адрес id3. Также Python увидит, что на объект по адресу idl больше никто не ссылается и поэтому удалит его из памяти (произведет автоматическую сборку мусора).
Рис. 4.5. Схема памяти Python при работе с переменными
Внимательный читатель заметил, что Python не изменяет существующие числовые объекты, а создает новые, т. е. объекты числового типа данных в Python являются неизменяемыми.
У начинающих программистов часто возникает недоумение при виде следующих выражений:
>>> num = 20 >>> num — num * 3 >>> num 60.
Если вспомнить, что сначала вычисляется правая часть выражения, то все станет на свои места.