Python datu tipi

Šajā apmācībā jūs uzzināsit par dažādiem datu tipiem, kurus varat izmantot Python.

Datu tipi Python

Katrai Python vērtībai ir datu tips. Tā kā Python programmēšanā viss ir objekts, datu tipi faktiski ir klases, un mainīgie ir šo klašu instance (objekts).

Python ir dažādi datu tipi. Daži no svarīgākajiem veidiem ir uzskaitīti zemāk.

Python numuri

Veselie skaitļi, peldošā komata skaitļi un kompleksie skaitļi ietilpst Python numuru kategorijā. Tie ir definēti kā int, floatun complexklases Python.

Mēs varam izmantot type()funkciju, lai uzzinātu, kurai klasei pieder mainīgais vai vērtība. Līdzīgi isinstance()funkcija tiek izmantota, lai pārbaudītu, vai objekts pieder noteiktai klasei.

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

Rezultāts

5 ir 2.0 tipa ir tipa (1 + 2j) ir komplekss skaitlis? Patiesi

Veseli skaitļi var būt jebkura garuma, to ierobežo tikai pieejamā atmiņa.

Peldošā komata skaitlis ir precīzs līdz 15 zīmēm aiz komata. Vesels skaitlis un peldošie punkti ir atdalīti ar komatu. 1 ir vesels skaitlis, 1,0 ir peldošā komata skaitlis.

Kompleksie skaitļi tiek ierakstīti formā,, x + yjkur x ir reālā daļa un y ir iedomātā daļa. Šeit ir daži piemēri.

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

Ievērojiet, ka floatmainīgais b tika saīsināts.

Python saraksts

Saraksts ir sakārtota vienumu secība. Tas ir viens no Python visbiežāk izmantotajiem datu tipiem un ir ļoti elastīgs. Visiem saraksta vienumiem nav jābūt viena veida.

Saraksta deklarēšana ir diezgan vienkārša. Ar komatiem atdalītie vienumi ir iekavās ( ).

 a = (1, 2.2, 'python') 

Mēs varam izmantot sagriešanas operatoru, ( )lai no saraksta izvilktu vienumu vai priekšmetu diapazonu. Indekss sākas no 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:)) 

Rezultāts

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

Saraksti ir maināmi, ti, saraksta elementu vērtību var mainīt.

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

Rezultāts

 (1, 2, 4) 

Pitons Tuple

Tuple ir sakārtota vienumu secība, tāpat kā saraksts. Vienīgā atšķirība ir tā, ka korekcijas nav maināmas. Reiz izveidotos kopas nevar mainīt.

Kopas tiek izmantotas datu rakstīšanas aizsardzībai, un tās parasti ir ātrākas nekā saraksti, jo tās nevar dinamiski mainīties.

Tas ir definēts iekavās, ()kur vienumi tiek atdalīti ar komatiem.

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

Mēs varam izmantot sagriešanas operatoru, ()lai iegūtu vienumus, taču mēs nevaram mainīt tā vērtību.

 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 

Rezultāts

 t (1) = programma t (0: 3) = (5, 'programma', (1 + 3j)) Traceback (pēdējais zvans pēdējais): fails "test.py", 11. rindiņa, t (0) = 10 TypeError: objekts 'tuple' neatbalsta vienuma piešķiršanu 

Python virknes

Virkne ir Unicode rakstzīmju secība. Mēs varam izmantot atsevišķas pēdiņas vai dubultās pēdiņas, lai attēlotu virknes. Vairāku rindiņu virknes var apzīmēt, izmantojot trīskārtīgas pēdiņas '''vai """.

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

Rezultāts

 Šī ir virkne Daudzrindu virkne 

Tāpat kā sarakstu un kopu, sagriešanas operatoru ( )var izmantot ar virknēm. Stīgas tomēr nav maināmas.

 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' 

Rezultāts

 s (4) = os (6:11) = world Traceback (pēdējais zvans pēdējais): Fails "", 11. rinda, TypeError: objekts 'str' neatbalsta vienuma piešķiršanu 

Python komplekts

Komplekts ir nesakārtota unikālu priekšmetu kolekcija. Komplektu nosaka vērtības, kas atdalītas ar komatu iekavās ( ). Vienumi komplektā netiek pasūtīti.

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

Rezultāts

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

Mēs varam veikt kopu darbības, piemēram, savienojumu, krustojumu divos komplektos. Komplektiem ir unikālas vērtības. Tie novērš dublikātus.

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

Rezultāts

 (1, 2, 3) 

Tā kā kopa ir nesakārtota kolekcija, indeksēšanai nav nozīmes. Tādējādi sagriešanas operators ()nedarbojas.

 >>> 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 vārdnīca

Vārdnīca ir nesakārtota atslēgu un vērtību pāru kolekcija.

To parasti izmanto, ja mums ir milzīgs datu apjoms. Vārdnīcas ir optimizētas datu izgūšanai. Mums ir jāzina atslēga, lai iegūtu vērtību.

Programmā Python vārdnīcas tiek definētas iekavās, ()kur katrs vienums ir pāris formā key:value. Atslēga un vērtība var būt jebkura veida.

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

Mēs izmantojam atslēgu, lai izgūtu attiecīgo vērtību. Bet ne otrādi.

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

Rezultāts

 d (1) = vērtība d ('key') = 2 Traceback (pēdējais zvans pēdējais): File "", 9. rindiņa, KeyError: 2 

Konvertēšana starp datu tipiem

Mēs varam konvertēt starp dažādiem datu veidiem, izmantojot dažādus tipa konversijas funkcijas, piemēram int(), float(), str()uc

 >>> float(5) 5.0 

Konversija no pludiņa uz int saīsinās vērtību (padarīs to tuvāku nullei).

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

Reklāmguvumam uz virkni un no tās ir jābūt saderīgām vērtībām.

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

Mēs pat varam pārveidot vienu secību citā.

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

Lai pārveidotu par vārdnīcu, katram elementam jābūt pārim:

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

Interesanti raksti...