Рубріки: Основи

Типи даних у Python: повний огляд та приклади коду

Дмитро Сімагін

Завдяки динамічній типізації Python може застосовуватися в різних сферах розробки: від простих веб-додатків до Data Science та новаторських ШІ-моделей. Однією з важливих особливостей мови Python є система типів даних, яка помітно спрощує роботу з об’єктами. Зміст цієї статті присвячено основним типам даних у Python, їх застосуванню та особливостям.

Що таке типи даних

Тип даних — це класифікація, за якою визначаються значення, що використовуються в змінній, та різновид операцій, допустимих у роботі над цими значеннями. Список типів даних, що підтримуються Python:

  • числові типи;
  • логічні типи;
  • послідовності;
  • множини;
  • відображення.

Всі ці категорії дозволяють описувати дані різної складності, що забезпечує гнучкість у розробці.

Динамічна типізація

Оскільки Python використовує динамічну типізацію, на практиці це призводить до того, що змінні не потребують явного оголошення типу. Він визначається автоматично на основі значення, що присвоюється. Розглянемо фрагмент коду:

x = 20     # x – це ціле число
x = "Hello" # тепер x – це рядок

 

Числові типи

Числа в мові Python представлені кількома типами даних: int, float та complex. Давайте поглянемо на них.

int

Цілі числа (int) — це необмежені за розміром цілі значення. Вони є одними з найпоширеніших типів даних у цій мові програмування. Приклад коду:

x = 42     # Ціле число
y = -10 | # Від'ємне ціле число

 

Цілі числа в Пайтоні можуть бути дуже великого розміру, що вигідно відрізняється від інших мов програмування. Нуль теж відноситься до типу даних int.

float

float — це тип даних для відображення дробових чисел чи чисел із плаваючою комою. Цей тип має обмежену точність, оскільки числа зберігаються у двійковій формі.

pi = 3.14159 # Число з плаваючою комою

 

Виконуючи операції з типом даних float, можна зіткнутися з некритичними помилками в округленні. Вони виникають через те, що пам’ять ПК відображає дробові числа, округляючи їх відповідно до власних правил.

complex

Комплексні числа або тип complex у мові Python складаються з реальної та уявної частин. Їх записують за принципом real + imag * j , де real + і imag — це числа з плаваючою комою, а j — позначення уявної частини. Приклад коду:

z = 8 + 11j  # Комплексне число

 

Дуже часто комплексні числа застосовуються в математичних та інженерних завданнях, пов’язаних із розрахунками у комплексній площині.

Логічні типи

За допомогою типу даних bool можна відображати логічні значення True і False. Зазвичай він використовується для показу значень істинності виразів.

a = True
type(a)

b = False
type(b)

 

Щоб повернути значення типу bool використовують оператори порівняння, такі як ==, !=, >, <.

Рядки (str)

Рядки (str) — це тип даних у вигляді послідовності символів, необхідних для роботи з текстом. Такі послідовності відкриваються та закриваються лапками.

message = "Hello, World!"

 

З рядками можна виконувати такі операції:

  • Конкатенація: складання рядків оператором +.
  • Повторення: множення рядка на число.
  • Вилучення символів: доступ до елементів рядка за індексом.

 

s = "Python"
print(s[0]) # 'P'
print(s[-1]) # 'n'

 

Вміст рядків не можна змінити після створення. Але ви завжди можете створити новий рядок.

Поширені методи рядків:

  • upper() та lower() — зміна регістру.
  • split() — поділ рядка.
  • replace() — заміна підрядка.

 

Послідовності

Колекції елементів можна впорядкувати за допомогою послідовності. У мові Python є кілька типів послідовностей: списки, кортежі та діапазони.

Списки (list)

Список — це послідовність, яка може змінюватись та містити елементи різних типів даних. Щоб оголосити список, достатньо відкрити квадратні дужки.

numbers = [10, 20, 30, 40, 50]

 

Кортеж (tuple)

Кортеж — це послідовність, яку, на відміну списку, не можна змінити. Кортежі оголошують за допомогою круглих дужок.

coordinates = (20, 30)

 

Оскільки кортежі незмінні, вони мають обмежену кількість операцій, порівняно зі списками. До плюсів тут варто віднести те, що вони займають менше пам’яті та захищені від випадкової зміни.

Діапазони (range)

Діапазон (range) — це спеціальний тип даних, що є послідовністю цілих чисел. Їх часто використовують у циклах.

r = range(1, 10)

 

Множина (set)

Множина — це набір невпорядкованих елементів, кожен з яких представлений лише один раз. Їх оголошують фігурними дужками.

unique_numbers = {10, 20, 30, 40, 50}

 

Множина може використовуватися в різних операціях, включаючи об’єднання, додавання або виключення, різниця і перетин.

a = {10, 20, 30}
b = {30, 40, 50}
print(a & b) # {30} (перетин)

 

Словник (dict)

Словник — це невпорядкований набір пар «ключ-значення», представлений типом dict. Як і множину, словник оголошують фігурними дужками.

student = {"name": "Jane", "age": 15, "grade": "B"}

 

Ключі у словнику повинен мати властивості унікальності та незмінності. Значення можуть бути будь-якими об’єктами.

None

None — це тип даних, що позначає відсутність значення або порожнечу. На відміну від False, нуля або порожнього рядка, None — це окремий тип, не еквівалентним іншим типам.

x = None

 

Як перевірити тип даних у Python

Щоб перевірити тип даних об’єкта, Python має відмінну вбудовану функцію type(). Вона повертає тип переданого об’єкта, залежно від переданих аргументів.

x = 43
print(type(x)) # <class 'int'>

y = "Hello"
print(type(y)) # <class 'str'>

 

Незважаючи на те, що type() повертає точний тип об’єкта, якщо вам потрібно перевірити відповідність об’єкта екземпляру конкретного класу, рекомендується використовувати isinstance(). Це найбільш оптимальний спосіб, оскільки тут функція додатково перевіряє об’єкт класу на наслідування. Приклад коду з isinstance():

x = 43
print(isinstance(x, int))  # True

y = "Hello"
print(isinstance(y, str)) # True

 

Якщо вам потрібно передати типи у вигляді кортежу, isinstance() може перевірити їх приналежність до кількох типів:

x = 3.14
print(isinstance(x, (int, float))) # True

 

Відмінність між type() та isinstance()

Щоб не виникла плутанина, пам’ятайте, що функція type() перевіряє точний тип об’єкта, а isinstance() перевіряє відповідність об’єкта екземпляру зазначеного класу або його підкласів.

Висновок

Типи даних у мові Python — це зручний інструмент, що забезпечує гнучку роботу з різними об’єктами. Наявність у ньому динамічної типізації та вбудованих типів дає програмістам широкі можливості обробки даних. Незалежно від того, з якими об’єктами ви працюєте: простими чи дробовими числами, списками, множинами чи словниками, Python обробляє їх і видає інформацію швидко та з максимальною читабельністю.

Останні статті

Meta запустить окремий додаток на базі штучного інтелекту, щоб конкурувати з ChatGPT

Після інтеграції Meta AI в WhatsApp, Instagram, Facebook і Messenger, Meta випускає окремий застосунок AI,…

29.04.2025

Ajax Systems виходить на бразильський ринок та створює локальну команду

Українська компанія Ajax Systems повідомила про вихід на ринок Бразилії, повідомили в DOU. Компанія створить в…

29.04.2025

Співробітники Xiaomi скаржаться на 15-годинний робочий день і штрафи за вихідні

У соцмережі Maimai, яку можна назвати китайським аналогом LinkedIn, поширився пост про те, що Xiaomi…

29.04.2025

JetBrains оновлює AI Assistant і робить безкоштовними всі функції штучного інтелекту в IDE

Компанія JetBrains випустила значне оновлення своїх функцій штучного інтелекту та запровадила новий безкоштовний рівень доступу.…

29.04.2025

GNU Compiler Collection 15.1 отримав підтримку COBOL та ранню підтримку Rust

У новий реліз набору компіляторів для різних мов програмування GCC (GNU Compiler Collection) 15.1 вперше…

29.04.2025

Alibaba представила сімейство моделей Qwen3. Вони ефективніше працюють з кодом, ніж DeepSeek

Китайська компанія Alibaba представила нову серію моделей з відкритим кодом Qwen3. Як запевняють її розробники,…

29.04.2025