Представление данных в Python. Понятие объекта. Идентичность, тип, значение объекта. Функции id(), type(). Операторы is, is not

Представление данных в Python. Понятие объекта. Идентичность, тип, значение объекта. Функции id(), type(). Операторы is, is not


Содержание



1. Представление данных в языке программирования Python. Понятие объекта

Данные в Python представлены в виде объектов или связей между ними. Объект – это область памяти, которая содержит некоторое значение данных и ассоциированный с ним набор операций. Объект – это абстракция, которая используется для представления данных в языке Python. Объект есть фундаментальным понятием в языке программирования Python (и не только в Python). Объект есть синонимом к слову экземпляр, который содержит некоторое значение данных.

Любые операции (добавление, вычитание и т.п.) в языке Python выполняются над объектами.

 

2. Какими способами можно представлять данные в виде объектов?

Данные в виде объектов могут быть представлены двумя способами:

  • встроенными объектами, которые предоставляются языком Python;
  • собственными созданными объектами с применением конструкций языка Python или библиотек расширений.

 

3. Какие преимущества дает использование встроенных объектов языка Python в сравнении с собственными разработанными объектами?

Использование встроенных объектов дает следующие преимущества:

  • упрощается разработка программ. Не расходуются лишние ресурсы на разработку собственных сложных объектов. Достаточно использовать имеющиеся мощные встроенные средства языка Python;
  • снижается количество ошибок на разработку собственных объектов, поскольку программный код встроенных объектов надежно протестирован;
  • обеспечивается достаточно высокое быстродействие из обработки коллекций, списков, таблиц и т.п.. Это поясняется тем, что программный код встроенных объектов максимально оптимизирован;
  • возможность разработки собственных сложных объектов на базе встроенных классов языка Python или интерфейсов языка C. Это, в свою очередь, облегчает расширяемость уже существующего кода;
  • встроенные объекты реализованы так, что они являются стандартной и неизменной частью языка Python. Это дает преимущество в удобстве и высокой эффективности их использования в программах. Собственные разработанные объекты имеют склонность изменяться от одного случая к другому.

 

4. Какими характеристиками владеет каждый объект?

Каждый объект имеет такие характеристики как:

  • идентичность;
  • тип;
  • значение.

 

5. Что такое идентичность объекта?

Идентичность объекта – это целое уникальное и постоянное (константное) число, которое устанавливается для данного конкретного объекта. Идентичность объекта устанавливается только один раз при создании объекта. Идентичность данного объекта никогда не изменяется после его создания. Идентичность объекта ассоциируется с адресом объекта в памяти.

 

6. Как определить значение идентичности для данного объекта? Функция id(). Пример

Функция id() предназначена для получения значения идентичности объекта. Функция возвращает целое число, которое для данного объекта есть уникальным и постоянным.

Пример.

>>> a=5
>>> id(a)
1752381760
>>> pa=id(a)
>>> pa
1752381760
>>> id(5)
1752381760
>>> id(6) # целое значение 6 есть тоже объектом
1752381776
>>> id(5) # целое значение 5 есть тоже объектом
1752381760
>>> id(a) # объект a идентичный объекту 5
1752381760

В вышеприведенном примере определяется значение идентичности для объектов с именами a, pa, целого числа 6, целого числа 5. Как видно из примера, числа также являются объектами. Значения идентичности для разных имен могут совпадать.

 

7. Как сравнить два объекта на идентичность? Операторы is и is not. Примеры

С помощью операторов is и is not можно сравнивать значение объектов на идентичность.

Пример. Сравниваются значения разных объектов на идентичность с помощью операторов is и is not.

>>> # сравнение объектов на идентичность
>>> a=3
>>> b=5
>>> a is b
False
>>>
>>> a=5
>>> a is b
True
>>>
>>> a
5
>>> b
5
>>>
>>> b = 7
>>> a is b
False
>>> a is not b
True

 

8. Что такое тип объекта в Python?

В языке Python каждый объект имеет определенный тип. Тип объекта определяет:

  • множество (набор) операций, которые поддерживаются данным объектом;
  • возможные значения для объектов этого типа.

После создания объекта определенного типа, тип этого объекта считается неизменным. Однако, в Python существуют средства изменения типа объекта.

 

9. Как получить тип объекта? Функция type(). Примеры

С помощью функции type() можно получить тип конкретного объекта.

Пример 1. Получение информации о типе целочисленного объекта

>>> a=10
>>> ta = type(a)
>>> ta
<class 'int'>

Как видно из примера, целочисленный объект a, который получил значение 10, имеет тип

<class 'int'>

Пример 2. Получение информации о типе объекта, который содержит значения с плавающей запятой.

>>> b = 3.85
>>> tb = type(b)
>>> tb
<class 'float'>

Пример 3. Получение информации о типе объекта c, что есть строкой символов

>>> c = "abcd" # строка символов
>>> c
'abcd'
>>> tc = type(c)
>>> tc
<class 'str'>
>>> type(c)
<class 'str'>

 

10. Как формируются значения объектов? Присваивание значений объектам. Примеры

Чтобы изменить значение объекта нужно выполнить оператор присваивания ‘=’. Оператор присваивания применяется для задания объекту некоторого значения.

В общем случае, присвоение значения объекту выполняется следующим образом

objName = value

где value – значение, которое присваивается объекту с именем objName.

Оператор присваивания в Python имеет несколько разновидностей и описывается в другой теме:

Пример установки значений простым объектам.

>>> x=5
>>> y=8
>>> z = x*y # использование операции присваивания в выражении
>>> x
5
>>> y,z
(8, 40)
>>> x,y,z = 9,12,23 # присваивание сразу трех значений
>>> x,y,z # вывести значения x,y,z за один раз
(9, 12, 23)
>>> M=[5,12]
>>> M[0]
5
>>> M[1]
12

 


Связанные темы