Vrste podatkov Python

V tej vadnici boste spoznali različne vrste podatkov, ki jih lahko uporabljate v Pythonu.

Podatkovni tipi v Pythonu

Vsaka vrednost v Pythonu ima podatkovni tip. Ker je v programiranju Python vse predmet predmeta, so podatkovni tipi pravzaprav razredi, spremenljivke pa so primerek (objekt) teh razredov.

V Pythonu obstajajo različni tipi podatkov. Nekatere pomembne vrste so navedene spodaj.

Številke Pythona

Cela števila, števila s plavajočo vejico in kompleksna števila spadajo v kategorijo številk Python. Opredeljeni so kot int, floatin complexrazredi v Python.

S type()funkcijo lahko vemo, kateremu razredu pripada spremenljivka ali vrednost. Podobno se isinstance()funkcija uporablja za preverjanje, ali objekt spada v določen razred.

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

Izhod

5 je tipa 2.0 je tipa (1 + 2j) je kompleksno število? Prav

Cela števila so lahko poljubne dolžine, omejena je le s pomnilnikom, ki je na voljo.

Število s plavajočo vejico je natančno do 15 decimalnih mest. Celoštevilo in plavajoče vejice so ločene z decimalnimi vejicami. 1 je celo število, 1.0 je število s plavajočo vejico.

Kompleksna števila so zapisana v obliki, x + yjkjer je x realni del, y pa namišljeni del. Tu je nekaj primerov.

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

Upoštevajte, da je floatspremenljivka b prirezana.

Python seznam

Seznam je urejeno zaporedje postavk. Je eden najpogosteje uporabljenih podatkovnih vrst v Pythonu in je zelo prilagodljiv. Ni nujno, da so vsi elementi na seznamu iste vrste.

Razglasitev seznama je precej neposredna. Elementi, ločeni z vejicami, so zaprti v oklepajih ( ).

 a = (1, 2.2, 'python') 

Operator rezanja lahko uporabimo ( )za izločanje predmeta ali vrste predmetov s seznama. Indeks se v Pythonu začne od 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:)) 

Izhod

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

Seznami so spremenljivi, kar pomeni, da je mogoče spremeniti vrednost elementov seznama.

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

Izhod

 (1, 2, 4) 

Python Tuple

Tuple je urejeno zaporedje elementov, enako seznamu. Edina razlika je v tem, da so korti nespremenljivi. Enkrat ustvarjenih korit ni mogoče spreminjati.

Nabori se uporabljajo za zaščito podatkov pred zapisovanjem in so običajno hitrejši od seznamov, saj se ne morejo spreminjati dinamično.

Določena je v oklepajih, ()kjer so postavke ločene z vejicami.

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

Z operaterjem rezanja ()lahko izvlečemo predmete, vendar njegove vrednosti ne moremo spremeniti.

 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 

Izhod

 t (1) = program t (0: 3) = (5, 'program', (1 + 3j)) Sledenje (zadnji zadnji klic): Datoteka "test.py", vrstica 11, v t (0) = 10 TypeError: objekt 'tuple' ne podpira dodelitve elementov 

Python Strings

Niz je zaporedje znakov Unicode. Za predstavljanje nizov lahko uporabimo enojne narekovaje ali dvojne narekovaje. Večvrstične nize lahko označimo s trojnimi narekovaji '''oz """.

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

Izhod

 To je niz Večvrstični niz 

Tako kot seznam in nabor, lahko tudi operater rezanja ( )uporabljate z nizi. Strune pa so nespremenljive.

 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' 

Izhod

 s (4) = os (6:11) = svetovni sled (zadnji zadnji klic): datoteka "", vrstica 11, v TypeError: objekt 'str' ne podpira dodelitve elementov 

Python Set

Set je neurejena zbirka unikatnih predmetov. Set je definiran z vrednostmi, ločenimi z vejico v oklepajih ( ). Predmeti v kompletu niso naročeni.

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

Izhod

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

Operacije nizov lahko izvajamo kot združitev, presečišče na dveh nizih. Kompleti imajo edinstvene vrednosti. Odstranijo dvojnike.

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

Izhod

 (1, 2, 3) 

Ker so nabori neurejeno zbiranje, indeksiranje nima pomena. Zato operater rezanja ()ne deluje.

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

Slovar Python

Slovar je neurejena zbirka parov ključ / vrednost.

Običajno se uporablja, kadar imamo ogromno podatkov. Slovarji so optimizirani za pridobivanje podatkov. Moramo vedeti ključ za pridobitev vrednosti.

V Pythonu so slovarji definirani v oklepajih, ()pri čemer je vsak element par v obliki key:value. Ključ in vrednost sta lahko katere koli vrste.

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

S ključem pridobimo ustrezno vrednost. A ne obratno.

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

Izhod

 d (1) = vrednost d ('key') = 2 Traceback (zadnji zadnji klic): Datoteka "", vrstica 9, v KeyError: 2 

Pretvorba med podatkovnimi vrstami

Mi lahko pretvorbo med različnimi vrstami podatkov s pomočjo različnih funkcij pretvorbe tipa, kot so int(), float(), str(), itd

 >>> float(5) 5.0 

Pretvorba iz float v int bo skrajšala vrednost (jo približala ničli).

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

Pretvorba v niz in iz njega mora vsebovati združljive vrednosti.

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

Eno zaporedje lahko celo pretvorimo v drugo.

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

Za pretvorbo v slovar mora biti vsak element par:

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

Zanimive Članki...