„Python“ duomenų tipai

Šioje pamokoje sužinosite apie įvairius duomenų tipus, kuriuos galite naudoti „Python“.

Duomenų tipai „Python“

Kiekviena „Python“ reikšmė turi duomenų tipą. Kadangi viskas yra „Python“ programavimo objektas, duomenų tipai iš tikrųjų yra klasės, o kintamieji yra šių klasių egzempliorius (objektas).

„Python“ yra įvairių tipų duomenys. Kai kurie svarbūs tipai yra išvardyti žemiau.

„Python“ numeriai

Sveikieji skaičiai, slankiojo kablelio skaičiai ir kompleksiniai skaičiai priskiriami „Python“ skaičių kategorijai. Jie apibrėžiami kaip int, floatir complexklases Python.

type()Funkciją galime naudoti norėdami sužinoti, kuriai klasei priklauso kintamasis ar reikšmė. Panašiai isinstance()funkcija naudojama patikrinti, ar objektas priklauso tam tikrai 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)) 

Rezultatas

5 yra 2.0 tipo yra tipo (1 + 2j) yra kompleksinis skaičius? Tiesa

Sveikieji skaičiai gali būti bet kokio ilgio, jį riboja tik turima atmintis.

Slankiojo kablelio skaičius yra tikslus iki 15 skaitmenų po kablelio. Sveikasis skaičius ir slankieji taškai yra atskirti dešimtainiais skaičiais. 1 yra sveikas skaičius, 1,0 yra slankiojo kablelio skaičius.

Kompleksiniai skaičiai rašomi tokia forma:, x + yjkur x yra tikroji dalis, o y - įsivaizduojama dalis. Štai keletas pavyzdžių.

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

Atkreipkite dėmesį, kad floatkintamasis b buvo sutrumpintas.

„Python“ sąrašas

Sąrašas yra išdėstyta elementų seka. Tai yra vienas iš dažniausiai naudojamų „Python“ duomenų tipų ir yra labai lankstus. Visi sąrašo elementai neturi būti vienodo tipo.

Deklaruoti sąrašą yra gana paprasta. Kableliais atskirti elementai uždėti skliausteliuose ( ).

 a = (1, 2.2, 'python') 

Mes galime naudoti pjaustymo operatorių, ( )norėdami iš sąrašo išskirti elementą ar elementų asortimentą. Rodyklė prasideda nuo 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:)) 

Rezultatas

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

Sąrašai yra kintantys, ty sąrašo elementų vertė gali būti pakeista.

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

Rezultatas

 (1, 2, 4) 

Python Tuple

Tuple yra užsakyta prekių seka, tokia pati kaip sąrašas. Vienintelis skirtumas yra tas, kad rinkiniai yra nekintami. Kartą sukurtų rinkinių modifikuoti negalima.

Rinkiniai naudojami duomenims apsaugoti ir paprastai yra greitesni už sąrašus, nes negali dinamiškai pasikeisti.

Jis apibrėžiamas skliaustuose, ()kur elementai atskiriami kableliais.

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

()Elementams išgauti galime naudoti pjaustymo operatorių , tačiau negalime pakeisti jo vertės.

 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 

Rezultatas

 t (1) = programa t (0: 3) = (5, „programa“, (1 + 3j)) „Traceback“ (paskutinis paskutinis skambutis): failas „test.py“, 11 eilutė, t (0) = 10 „TypeError“: objektas „tuple“ nepalaiko elemento priskyrimo 

„Python“ eilutės

Eilutė yra „Unicode“ simbolių seka. Stygoms vaizduoti galime naudoti pavienes kabutes arba dvigubas kabutes. Kelių eilučių eilutės gali būti pažymėtos naudojant trigubas kabutes '''arba """.

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

Rezultatas

 Tai eilutė Daugiasluoksnė eilutė 

Pjaustymo operatorių, kaip sąrašą ir paketą, ( )galima naudoti su eilutėmis. Vis dėlto stygos yra nekintamos.

 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' 

Rezultatas

 s (4) = os (6:11) = world Traceback (paskutinis skambutis paskutinis): Failo "" 11 eilutė, objekte TypeError: 'str' nepalaiko elemento priskyrimo 

„Python“ rinkinys

Rinkinys yra neužsakyta unikalių daiktų kolekcija. Rinkinį apibrėžia reikšmės, atskirtos kableliais petnešėlių viduje ( ). Rinkinyje esantys daiktai nėra užsakomi.

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

Rezultatas

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

Mes galime atlikti rinkinio operacijas, tokias kaip jungimas, sankirta, dviem rinkiniais. Rinkiniai turi unikalias vertes. Jie pašalina dublikatus.

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

Rezultatas

 (1, 2, 3) 

Kadangi rinkinys yra nerūšiuotas rinkimas, indeksavimas neturi prasmės. Taigi pjaustymo operatorius ()neveikia.

 >>> 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“ žodynas

Žodynas yra nesutvarkytas raktų ir verčių porų rinkinys.

Paprastai jis naudojamas, kai turime didžiulį duomenų kiekį. Žodynai yra optimizuoti duomenims gauti. Turime žinoti raktą, kad gautume vertę.

„Python“ programoje žodynai apibrėžiami petnešomis (), kiekvienas elementas yra formos pora key:value. Raktas ir vertė gali būti bet kokio tipo.

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

Mes naudojame raktą, norėdami gauti atitinkamą vertę. Bet ne atvirkščiai.

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

Rezultatas

 d (1) = reikšmė d ('key') = 2 Traceback (paskutinis paskutinis skambutis paskutinis): Failo "" 9 eilutė, KeyError: 2 

Konversija tarp duomenų tipų

Mes galime konvertuoti tarp įvairių duomenų tipų, naudojant skirtingo tipo konvertavimo funkcijas, pavyzdžiui int(), float(), str()ir tt

 >>> float(5) 5.0 

Konvertuojant iš plūduriuojančio į int, vertė bus sutrumpinta (padaryta arčiau nulio).

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

Konvertuojant į eilutę ir iš jos turi būti suderinamos vertės.

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

Mes netgi galime konvertuoti vieną seką į kitą.

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

Norėdami konvertuoti į žodyną, kiekvienas elementas turi būti pora:

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

Įdomios straipsniai...