Питхон типови података

У овом упутству ћете научити о различитим типовима података које можете користити у Питхону.

Типови података у Питхону

Свака вредност у Питхону има тип података. Будући да је у Питхон програмирању све објект, типови података су заправо класе, а променљиве су инстанца (објекат) ових класа.

У Питхону постоје различити типови података. Неке од важних врста су наведене у наставку.

Питхон Нумберс

Цели бројеви, бројеви са помичним зарезом и сложени бројеви спадају у категорију Питхон бројева. Они су дефинисани као int, floatи complexкласе у Питхон.

Помоћу 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 + 2ј) је сложени број? Истина

Цели бројеви могу бити било које дужине, ограничен је само расположивом меморијом.

Број са покретном зарезом је тачан до 15 децималних места. Целобројне и покретне тачке одвојене су децималним зарезима. 1 је цео број, 1.0 је број са покретном зарезом.

Комплексни бројеви су написани у облику, x + yjгде је к стварни део, а и имагинарни део. Ево неколико примера.

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

Приметите да је floatпроменљива б скраћена.

Питхон Лист

Листа је уређени редослед ставки. То је један од најчешће коришћених типова података у Питхону и врло је флексибилан. Све ставке на листи не морају бити истог типа.

Објава листе је прилично директна. Ставке одвојене зарезима затворене су у заграде ( ).

 a = (1, 2.2, 'python') 

Помоћу оператора ( )за резање можемо да издвојимо ставку или низ ставки са листе. Индекс у Питхону почиње од 0.

 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:)) 

Оутпут

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

Листе су променљиве, што значи да се вредност елемената листе може мењати.

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

Оутпут

 (1, 2, 4) 

Питхон Тупле

Тупле је уређени редослед ставки исти као листа. Једина разлика је у томе што су корте непроменљиве. Једном створене корице не могу се мењати.

Туплеви се користе за заштиту података од писања и обично су бржи од листа јер се не могу динамички мењати.

Дефинисано је у заградама ()где су ставке одвојене зарезима.

 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 

Оутпут

 т (1) = програм т (0: 3) = (5, 'програм', (1 + 3ј)) Трацебацк (последњи последњи позив): Датотека "тест.пи", ред 11, у т (0) = 10 ТипеЕррор: објект „тупле“ не подржава додјељивање предмета 

Питхон Стрингс

Низ је низ Уницоде знакова. За представљање низова можемо користити једноструке или двоструке наводнике. Низови са више редова могу се означити помоћу троструких наводника, '''или """.

 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' 

Оутпут

 с (4) = ос (6:11) = Трацебацк света (последњи последњи позив): Датотека "", ред 11, у ТипеЕррор: 'стр' објекат не подржава додељивање ставки 

Питхон Сет

Сет је неуређена колекција јединствених предмета. Скуп је дефинисан вредностима одвојеним зарезом у заградама ( ). Предмети у комплету нису наручени.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(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 

Питхон Дицтионари

Речник је неуређена колекција парова кључ / вредност.

Обично се користи када имамо огромну количину података. Речници су оптимизовани за преузимање података. Морамо знати кључ за преузимање вредности.

У Питхону су речници дефинисани у заградама, ()при чему је свака ставка пар у облику 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)); 

Оутпут

 д (1) = вредност д ('кеи') = 2 Трацебацк (последњи последњи позив): Датотека „“, ред 9, у КеиЕррор: 2 

Конверзија између типова података

Можемо претворити између различитих типова података коришћењем различитих функција тип конверзију као int(), float(), str(), итд

 >>> float(5) 5.0 

Конверзија из флоат у инт ће скратити вредност (приближити је нули).

 >>> 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) 

Занимљиви Чланци...