Типи даних Python

У цьому підручнику ви дізнаєтесь про різні типи даних, які ви можете використовувати в Python.

Типи даних у Python

Кожне значення в Python має тип даних. Оскільки все є об'єктом у програмуванні на Python, типи даних насправді є класами, а змінні є екземпляром (об'єктом) цих класів.

У Python існують різні типи даних. Деякі важливі типи перелічені нижче.

Номери Python

Цілі числа, числа з плаваючою комою та комплексні числа підпадають під категорію чисел Python. Вони визначаються як int, floatі complexкласи в Python.

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

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Вихідні дані

5 - типу 2.0 - типу (1 + 2j) - комплексне число? Правда

Цілі числа можуть бути будь-якої довжини, це обмежується лише доступною пам’яттю.

Число з плаваючою комою має точність до 15 знаків після коми. Цілі і плаваючі крапки розділяються десятковими крапками. 1 - ціле число, 1,0 - число з плаваючою точкою.

Складні числа записуються у вигляді, x + yjде x - дійсна частина, а y - уявна частина. Ось кілька прикладів.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Зверніть увагу, що floatзмінна b була усічена.

Список Python

Список - це впорядкована послідовність елементів. Це один із найбільш часто використовуваних типів даних у Python і дуже гнучкий. Всі елементи у списку не повинні бути однотипними.

Оголошення списку досить прямо. Елементи, розділені комами, укладаються в дужки ( ).

 a = (1, 2.2, 'python') 

Ми можемо використовувати оператор нарізки ( )для вилучення елемента або діапазону елементів зі списку. Індекс починається з 0 у Python.

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Вихідні дані

 a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40) 

Списки можна змінювати, тобто значення елементів списку може бути змінено.

 a = (1, 2, 3) a(2) = 4 print(a) 

Вихідні дані

 (1, 2, 4) 

Python Tuple

Кортеж - це впорядкована послідовність елементів, однакова зі списком. Різниця лише в тому, що кортежі незмінні. Одноразово створені кортежі не можна змінювати.

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

Він визначається в дужках, ()де елементи розділяються комами.

 t = (5,'program', 1+3j) 

Ми можемо використовувати оператор нарізки ()для вилучення предметів, але ми не можемо змінити його значення.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Вихідні дані

 t (1) = програма t (0: 3) = (5, 'програма', (1 + 3j)) Відстеження (останній останній дзвінок): Файл "test.py", рядок 11, у t (0) = 10 TypeError: об'єкт "кортеж" не підтримує призначення елементів 

Рядки Python

Рядок - це послідовність символів Unicode. Для представлення рядків ми можемо використовувати одинарні або подвійні лапки. Багаторядні рядки можна позначити за допомогою потрійних лапок '''або """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Вихідні дані

 Це рядок Багаторядковий рядок 

Подібно до списку та кортежу, оператор нарізки ( )може використовуватися з рядками. Струни, однак, незмінні.

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Вихідні дані

 s (4) = os (6:11) = world Traceback (останній дзвінок останній): Файл "", рядок 11, у TypeError: об'єкт 'str' не підтримує призначення елементів 

Набір Python

Набір - це не упорядкована колекція унікальних предметів. Набір визначається значеннями, розділеними комами всередині фігурних дужок ( ). Предмети в наборі не замовляються.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Вихідні дані

 a = (1, 2, 3, 4, 5) 

Ми можемо виконувати операції з множинами, такі як об'єднання, перетин над двома множинами. Набори мають унікальні значення. Вони усувають дублікати.

 a = (1,2,2,3,3,3) print(a) 

Вихідні дані

 (1, 2, 3) 

Оскільки набори є невпорядкованим колекціонуванням, індексація не має значення. Отже, оператор нарізки ()не працює.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Словник Python

Словник - це невпорядкована колекція пар ключ-значення.

Зазвичай він використовується, коли ми маємо величезну кількість даних. Словники оптимізовані для отримання даних. Ми повинні знати ключ для отримання значення.

У Python словники визначаються у фігурних дужках, ()при цьому кожен елемент є парою у формі key:value. Ключ і значення можуть бути будь-якого типу.

 >>> d = (1:'value','key':2) >>> type(d) 

Ми використовуємо ключ для отримання відповідного значення. Але не навпаки.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Вихідні дані

 d (1) = значення d ('ключ') = 2 Відстеження (останній останній дзвінок): Файл "", рядок 9, у KeyError: 2 

Перетворення між типами даних

Ми можемо конвертувати між різними типами даних, використовуючи різні функції перетворення типу , як int(), float(), str()і т.д.

 >>> float(5) 5.0 

Перетворення з плаваючого значення в int зменшить значення (зробіть його ближчим до нуля).

 >>> int(10.6) 10 >>> int(-10.6) -10 

Перетворення в і з рядка повинно містити сумісні значення.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

Ми навіть можемо перетворити одну послідовність в іншу.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Для перетворення в словник кожен елемент повинен бути парою:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

Цікаві статті...