Типи даних у Python: повний огляд та приклади коду
Завдяки динамічній типізації Python може застосовуватися в різних сферах розробки: від простих веб-додатків до Data Science та новаторських ШІ-моделей. Однією з важливих особливостей мови Python є система типів даних, яка помітно спрощує роботу з об’єктами. Зміст цієї статті присвячено основним типам даних у Python, їх застосуванню та особливостям.
Тип даних — це класифікація, за якою визначаються значення, що використовуються в змінній, та різновид операцій, допустимих у роботі над цими значеннями. Список типів даних, що підтримуються Python:
Всі ці категорії дозволяють описувати дані різної складності, що забезпечує гнучкість у розробці.
Оскільки Python використовує динамічну типізацію, на практиці це призводить до того, що змінні не потребують явного оголошення типу. Він визначається автоматично на основі значення, що присвоюється. Розглянемо фрагмент коду:
x = 20 # x – це ціле число x = "Hello" # тепер x – це рядок
Числа в мові Python представлені кількома типами даних: int, float та complex. Давайте поглянемо на них.
Цілі числа (int) — це необмежені за розміром цілі значення. Вони є одними з найпоширеніших типів даних у цій мові програмування. Приклад коду:
x = 42 # Ціле число y = -10 | # Від'ємне ціле число
Цілі числа в Пайтоні можуть бути дуже великого розміру, що вигідно відрізняється від інших мов програмування. Нуль теж відноситься до типу даних int.
float — це тип даних для відображення дробових чисел чи чисел із плаваючою комою. Цей тип має обмежену точність, оскільки числа зберігаються у двійковій формі.
pi = 3.14159 # Число з плаваючою комою
Виконуючи операції з типом даних float, можна зіткнутися з некритичними помилками в округленні. Вони виникають через те, що пам’ять ПК відображає дробові числа, округляючи їх відповідно до власних правил.
Комплексні числа або тип complex у мові Python складаються з реальної та уявної частин. Їх записують за принципом real + imag * j , де real + і imag — це числа з плаваючою комою, а j — позначення уявної частини. Приклад коду:
z = 8 + 11j # Комплексне число
Дуже часто комплексні числа застосовуються в математичних та інженерних завданнях, пов’язаних із розрахунками у комплексній площині.
За допомогою типу даних bool можна відображати логічні значення True і False. Зазвичай він використовується для показу значень істинності виразів.
a = True type(a) b = False type(b)
Щоб повернути значення типу bool використовують оператори порівняння, такі як ==, !=, >, <.
Рядки (str) — це тип даних у вигляді послідовності символів, необхідних для роботи з текстом. Такі послідовності відкриваються та закриваються лапками.
message = "Hello, World!"
З рядками можна виконувати такі операції:
s = "Python" print(s[0]) # 'P' print(s[-1]) # 'n'
Вміст рядків не можна змінити після створення. Але ви завжди можете створити новий рядок.
Поширені методи рядків:
Колекції елементів можна впорядкувати за допомогою послідовності. У мові Python є кілька типів послідовностей: списки, кортежі та діапазони.
Список — це послідовність, яка може змінюватись та містити елементи різних типів даних. Щоб оголосити список, достатньо відкрити квадратні дужки.
numbers = [10, 20, 30, 40, 50]
Кортеж — це послідовність, яку, на відміну списку, не можна змінити. Кортежі оголошують за допомогою круглих дужок.
coordinates = (20, 30)
Оскільки кортежі незмінні, вони мають обмежену кількість операцій, порівняно зі списками. До плюсів тут варто віднести те, що вони займають менше пам’яті та захищені від випадкової зміни.
Діапазон (range) — це спеціальний тип даних, що є послідовністю цілих чисел. Їх часто використовують у циклах.
r = range(1, 10)
Множина — це набір невпорядкованих елементів, кожен з яких представлений лише один раз. Їх оголошують фігурними дужками.
unique_numbers = {10, 20, 30, 40, 50}
Множина може використовуватися в різних операціях, включаючи об’єднання, додавання або виключення, різниця і перетин.
a = {10, 20, 30} b = {30, 40, 50} print(a & b) # {30} (перетин)
Словник — це невпорядкований набір пар «ключ-значення», представлений типом dict. Як і множину, словник оголошують фігурними дужками.
student = {"name": "Jane", "age": 15, "grade": "B"}
Ключі у словнику повинен мати властивості унікальності та незмінності. Значення можуть бути будь-якими об’єктами.
None — це тип даних, що позначає відсутність значення або порожнечу. На відміну від False, нуля або порожнього рядка, None — це окремий тип, не еквівалентним іншим типам.
x = None
Щоб перевірити тип даних об’єкта, 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() перевіряє відповідність об’єкта екземпляру зазначеного класу або його підкласів.
Типи даних у мові Python — це зручний інструмент, що забезпечує гнучку роботу з різними об’єктами. Наявність у ньому динамічної типізації та вбудованих типів дає програмістам широкі можливості обробки даних. Незалежно від того, з якими об’єктами ви працюєте: простими чи дробовими числами, списками, множинами чи словниками, Python обробляє їх і видає інформацію швидко та з максимальною читабельністю.
Після інтеграції Meta AI в WhatsApp, Instagram, Facebook і Messenger, Meta випускає окремий застосунок AI,…
Українська компанія Ajax Systems повідомила про вихід на ринок Бразилії, повідомили в DOU. Компанія створить в…
У соцмережі Maimai, яку можна назвати китайським аналогом LinkedIn, поширився пост про те, що Xiaomi…
Компанія JetBrains випустила значне оновлення своїх функцій штучного інтелекту та запровадила новий безкоштовний рівень доступу.…
У новий реліз набору компіляторів для різних мов програмування GCC (GNU Compiler Collection) 15.1 вперше…
Китайська компанія Alibaba представила нову серію моделей з відкритим кодом Qwen3. Як запевняють її розробники,…