Python tipovi podataka

U ovom vodiču naučit ćete o različitim vrstama podataka koje možete koristiti u Pythonu.

Tipovi podataka u Pythonu

Svaka vrijednost u Pythonu ima tip podataka. Budući da je sve objekt u Python programiranju, tipovi podataka zapravo su klase, a varijable su instanca (objekt) tih klasa.

U Pythonu postoje razne vrste podataka. Neke su važne vrste navedene u nastavku.

Python brojevi

Cijeli brojevi, brojevi s pomičnim zarezom i složeni brojevi spadaju u kategoriju Python brojeva. Oni su definirani kao int, floata complexnastava u Pythonu.

Pomoću type()funkcije možemo znati kojoj klasi pripada varijabla ili vrijednost. Slično tome, isinstance()funkcija se koristi za provjeru pripada li objekt određenoj klasi.

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

Izlaz

5 je tipa 2.0 je tipa (1 + 2j) je složeni broj? Pravi

Cijeli brojevi mogu biti bilo koje duljine, ograničen je samo dostupnom memorijom.

Broj s pomičnom zarezom precizan je do 15 decimalnih mjesta. Cijeli i plutajući zarez odvojeni su decimalnim zarezima. 1 je cijeli broj, 1,0 je broj s pomičnom zarezom.

Kompleksni brojevi zapisani su u obliku, x + yjgdje je x stvarni dio, a y imaginarni dio. Evo nekoliko primjera.

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

Primijetite da je floatvarijabla b skraćena.

Popis Pythona

Popis je poredani redoslijed stavki. To je jedan od najčešće korištenih tipova podataka u Pythonu i vrlo je fleksibilan. Sve stavke na popisu ne moraju biti iste vrste.

Objava popisa prilično je ravna. Stavke odvojene zarezima zatvorene su u zagrade ( ).

 a = (1, 2.2, 'python') 

Operator ( )za rezanje možemo koristiti za izdvajanje stavke ili niza predmeta s popisa. Indeks započinje od 0 u Pythonu.

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

Izlaz

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

Popisi su promjenjivi, što znači da se vrijednost elemenata popisa može mijenjati.

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

Izlaz

 (1, 2, 4) 

Python Tuple

Tuple je poredani slijed stavki jednak popisu. Jedina razlika je u tome što su torte nepromjenjive. Jednom stvorene korice ne mogu se mijenjati.

Tuplevi se koriste za zaštitu podataka od pisanja i obično su brži od popisa jer se ne mogu dinamički mijenjati.

Definirano je u zagradama ()gdje su stavke odvojene zarezima.

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

Operator ()za rezanje možemo koristiti za izdvajanje predmeta, ali ne možemo promijeniti njegovu vrijednost.

 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 

Izlaz

 t (1) = program t (0: 3) = (5, 'program', (1 + 3j)) Traceback (najnoviji zadnji poziv): Datoteka "test.py", red 11, u t (0) = 10 TypeError: objekt "tuple" ne podržava dodjeljivanje predmeta 

Python žice

Niz je slijed Unicode znakova. Za predstavljanje nizova možemo koristiti pojedinačne navodnike ili dvostruke navodnike. Nizovi s više linija mogu se označiti pomoću trostrukih navodnika '''ili """.

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

Izlaz

 Ovo je niz Višeredni niz 

Baš poput popisa i korpice, operator rezanja ( )može se koristiti sa žicama. Žice su, međutim, nepromjenjive.

 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' 

Izlaz

 s (4) = os (6:11) = world Traceback (najnoviji zadnji poziv): Datoteka "", redak 11, u TypeError: objekt 'str' ne podržava dodjeljivanje stavki 

Python set

Set je neuređena kolekcija jedinstvenih predmeta. Skup je definiran vrijednostima odvojenim zarezom unutar zagrada ( ). Predmeti u kompletu nisu naručeni.

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

Izlaz

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

Možemo izvoditi operacije skupova poput spajanja, presijecanja na dva skupa. Kompleti imaju jedinstvene vrijednosti. Uklanjaju duplikate.

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

Izlaz

 (1, 2, 3) 

Budući da su skupovi neuređeno prikupljanje, indeksiranje nema značenja. Dakle, operater rezanja ()ne radi.

 >>> 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 rječnik

Rječnik je neuređena zbirka parova ključ / vrijednost.

Obično se koristi kada imamo ogromnu količinu podataka. Rječnici su optimizirani za dohvaćanje podataka. Moramo znati ključ za dohvaćanje vrijednosti.

U Pythonu su rječnici definirani u zagradama, ()pri čemu je svaka stavka par u obliku key:value. Ključ i vrijednost mogu biti bilo koje vrste.

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

Koristimo ključ za dohvaćanje odgovarajuće vrijednosti. Ali ne obrnuto.

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

Izlaz

 d (1) = vrijednost d ('key') = 2 Traceback (najnoviji zadnji poziv): Datoteka "", red 9, u KeyError: 2 

Pretvorba između vrsta podataka

Mi može pretvoriti između različitih tipova podataka pomoću različitih funkcija vrsta konverzija kao što je int(), float(), str(), itd

 >>> float(5) 5.0 

Pretvorba iz float u int odsjeći će vrijednost (približiti nuli).

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

Pretvorba u i iz niza mora sadržavati kompatibilne vrijednosti.

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

Možemo čak pretvoriti jedan slijed u drugi.

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

Da biste pretvorili u rječnik, svaki element mora biti par:

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

Zanimljivi članci...