Присваивание значения переменным




Переменные

Все данные в языке Python представлены объектами. Каждый объект имеет тип данных и значение. Для доступа к объекту предназначены переменные. При инициализации в переменной сохраняется ссылка (адрес объекта в памяти компьютера) на объект. Благодаря этой ссылке можно в дальнейшем изменять объект из программы.

Именование переменных

Каждая переменная должна иметь уникальное имя, состоящее из латинских букв, цифр и знаков подчеркивания, причём имя переменной не может начинаться с цифры. Кроме того, следует избегать указания символа подчеркивания в начале имени, т. к. идентификаторы с таким символом имеют специальное значение. Например, имена, начинающиеся с символа подчёркивания, не импортируются из модуля с помощью инструкции from module import *, а имена, имеющие по два символа подчёркивания в начале и конце, для интерпретатора имеют особый смысл.

В качестве имени переменной нельзя использовать ключевые слова. Получить список всех ключевых слов позволяет код, приведенный ниже:

Помимо ключевых слов следует избегать совпадений со встроенными идентификаторами. В отличие от ключевых слов, встроенные идентификаторы можно переопределять, но дальнейший результат может стать для вас неожиданным.

В этом примере с помощью встроенной функции help() получаем справку по функции abs (). Далее переменной help присваиваем число 10. После переопределения идентификатора больше нельзя пользоваться функцией help(), т. к. это приведет к выводу сообщения об ошибке. По этой причине лучше избегать имен, совпадающих со встроенными идентификаторами. Очень часто подобная ошибка возникает при попытке назвать переменную, в которой предполагается хранение строки, именем str. Вроде бы логично, но str является часто используемым встроенным идентификатором и после такого переопределения поведение программы становится непредсказуемым. В редакторе IDLE встроенные идентификаторы подсвечиваются фиолетовым цветом. Обращайте внимание на цвет переменной, он должен быть черным. Если вы заметили, что переменная подсвечена, то название переменной следует обязательно изменить. Получить полный список встроенных идентификаторов позволяет следующий код:

Правильные имена переменных: х, y1, strName, str_name.

Неправильные имена переменных: 1y, ИмяПеременной.

Последнее имя неправильное, т. к. в нем используются русские буквы. Хотя на самом деле такой вариант также будет работать, но лучше русские буквы все же не применять.

При указании имени переменной важно учитывать регистр букв: х и X - разные переменные:

Типы данных

В Python 3 объекты могут иметь следующие типы данных:

· bool - логический тип данных. Может содержать значения True или False, которые ведут себя как числа 1 и 0 соответственно.

· NoneType - объект со значением None (обозначает отсутствие значения). В логическом контексте значение None интерпретируется как False.

· int - целые числа. Размер числа ограничен лишь объемом оперативной памяти:

· float - вещественные числа.

· complex - комплексные числа.

· str - Unicode -cтроки.

· bytes - неизменяемая последовательность байтов.

· bytearray - изменяемая nпоследовательность байтов.

· list - списки. Тип данных list аналогичен массивам в других языках программирования.

· tuple – кортежи.

· dict - словари. Тип данных dict аналогичен ассоциативным· массивам в других языках программирования.

· set - множества (коллекции уникальных объектов).

· frozenset - не изменяемые множества.

· ellipsis - обозначается в виде трех точек или слова Ellipsis. Тип ellipsis используется в расширенном синтаксисе получения среза.

· function – функции.

· modu1e – модули.

· type - классы и типы данных. Не удивляйтесь! Все данные в языке Python являются объектами, даже сами типы данных!

Основные типы данных делятся на изменяемые и неизменяемые. К изменяемым типам относятся списки, словари и тип bytearray. Пример изменения первого элемента списка:

К неизменяемым типам относятся числа, строки, кортежи и тип bytes. Например, чтобы получить строку из двух других строк, необходимо использовать операцию конкатенации, а ссылку на новый объект присвоить переменной:

Кроме того, типы данных делятся на последовательности и отображения. К последовательностям относятся строки, списки, кортежи, типы bytes и bytearray, а к отображениям - словари.

Присваивание значения переменным

В языке Python используется динамическая типизация. Это означает, что при присваивании переменной значения интерпретатор автоматически относит переменную к одному из типов данных. Значение переменной присваивается с помощью оператора = таким образом:

В одной строке можно присвоить значение сразу нескольким переменным:

После присваивания значения в переменной сохраняется ссылка на объект, а не сам объект. Это обязательно следует учитывать при групповом присваивании. Групповое присваивание можно использовать для чисел, строк и кортежей, но для изменяемых объектов этого делать нельзя. Пример:

В этом примере мы создали список из двух элементов и присвоили значение переменным x и у. Теперь попробуем изменить значение в переменной у:

Как видно из примера, изменение значения в переменной у привело также к изменению значения в переменной х. Таким образом, обе переменные ссылаются на один и тот же объект, а не на два разных объекта. Чтобы получить два объекта, необходимо производить раздельное присваивание:

Проверить, ссылаются ли две переменные на один и тот же объект, позволяет оператор is. Если переменные ссылаются на один и тот же объект, то оператор is возвращает значение True:

Помимо группового присваивания язык Python поддерживает позиционное присваивание. В этом случае переменные указываются через запятую слева от оператора =, а значения через запятую справа. Пример позиционного присваивания:

С помощью позиционного присваивания можно поменять значения переменных местами.

Пример:

По обе стороны оператора = могут быть указаны последовательности. Напомним, что к последовательностям относятся строки, списки, кортежи, типы bytes и bytearray. Пример:

Обратите внимание на то, что количество элементов справа и слева от оператора = должно совпадать, иначе будет выведено сообщение об ошибке.

В Python 3 существует возможность сохранения в переменной списка, состоящего из лишних элементов, при несоответствии количества элементов справа и слева от оператора =. Для этого перед именем переменной указывается звездочка (*). Пример:

Как видно из примера, переменная, перед которой указана звездочка, всегда содержит список. Если для этой переменной не хватило значений, то ей присваивается пустой список. Следует помнить, что звездочку можно указать только перед одной переменной. В противном случае возникнет неоднозначность и интерпретатор выведет сообщение об ошибке.

Проверка типа данных

Python в любой момент времени изменяет тип переменной в соответствии с данными, хранящимися в ней. Пример:

Определить, на какой тип данных ссылается переменная, позволяет функция type(<Имя переменной>):

Проверить тип данных переменной можно следующими способами:

· сравнить значение, возвращаемое функцией type(), с названием типа данных:

· проверить тип с помощью функции isinstance():



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: