Типи даних у 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 обробляє їх і видає інформацію швидко та з максимальною читабельністю.
Favbet Tech – це ІТ-компанія зі 100% українською ДНК, що створює досконалі сервіси для iGaming і Betting з використанням передових технологій та надає доступ до них. Favbet Tech розробляє інноваційне програмне забезпечення через складну багатокомпонентну платформу, яка здатна витримувати величезні навантаження та створювати унікальний досвід для гравців.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: