Типове данни на 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

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

String е последователност от 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) = световно проследяване (последно последно обаждане): Файл "", ред 11, в TypeError: обектът "str" ​​не поддържа присвояване на елемент 

Python Set

Комплектът е неподредена колекция от уникални предмети. Set се дефинира от стойности, разделени със запетая в скоби ( ). Артикулите в комплект не се поръчват.

 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 

Преобразуването от float в 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) 

Интересни статии...