Представлення даних в 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

 


Зв’язані теми