![Page 1: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/1.jpg)
Informatika I
Tomas Plankis
2012
![Page 2: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/2.jpg)
Ivadas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
2 / 278
![Page 3: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/3.jpg)
Susipažinkime
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
3 / 278
dr. Tomas Plankis
![Page 4: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/4.jpg)
?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
4 / 278
"Paradoksalu, tačiau šiais laikais: musu pastatai didesni, betmažesnes bažnyčios, platesni keliai, tačiau siauresni požiuriai,
išleidžiame daugiau, bet turime mažiau, perkam daugiau, tačiaudžiaugiames mažiau, namai didesni, tačiau mažesnes šeimos, daugiau
patogumu, bet mažiau laiko, moksliniai laipsniai aukštesni, betžodžiuose ir darbuose mažiau prasmes, daugiau žiniu, bet mažiauteisingumo, geresne medicina, tačiau mažiau sveikatos... Išmokomekaip pragyventi, bet ne gyventi, išvalem orą, bet užteršem sielą,
užkariavom kosmosą, bet nebepažistame vidinio pasaulio... Išmokomskubeti, bet nebemokam palaukti..."
Robert Fulghum
![Page 5: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/5.jpg)
Kas jusu laukia?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
5 / 278
Python’as
![Page 6: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/6.jpg)
Kas jusu laukia?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
5 / 278
Python’as(Visus du semestrus!)
![Page 7: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/7.jpg)
Kas yra pitonas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
6 / 278
![Page 8: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/8.jpg)
Ką veiksime
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
7 / 278
■ Python programavimo kalba ir jos interpretatorius, algoritmosamprata, programos rašymo taisykles, skyrybos reikšme.
■ Kintamieji ir duomenu tipai, slankaus kablelio aritmetika ir josapribojimai, priskirimo sakinys, sąlyginis sakinys, ciklai.
■ Duomenu strukturos: simboliu sekos, sąrašai, aibes, kortežai,žodynai, naudotojo apibrežiamos duomenu strukturos.
■ Funkcijos samprata ir sintakse, standartines bibliotekos, failuskaitymas ir rašymas.
■ Klaidu valdymas, testavimas, duomenu vaizdavimas atmintyje.
![Page 9: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/9.jpg)
Ivertinimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
8 / 278
G = E + I
![Page 10: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/10.jpg)
Ivertinimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
9 / 278
G =E + I
2
![Page 11: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/11.jpg)
Egzaminas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
10 / 278
TESTAS
![Page 12: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/12.jpg)
Egzaminas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
10 / 278
TESTAS10 klausimu
![Page 13: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/13.jpg)
Literatura
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
11 / 278
■ Alex Martelli, "Python in a Nutshell 2nd edition"■ Mark Pilgram, "Dive Into Python",
http://www.diveintopython.net■ Swaroop C.H., "A Byte of Python", http://www.swaroopch.com■ http://www.python.org
![Page 14: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/14.jpg)
Algoritmo samprata
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
12 / 278
![Page 15: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/15.jpg)
?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
13 / 278
"Nesupyk, bet manęs NIEKIENO nuomone nedomina. Niekieno irjokia tema. Todel, kad aš daug, nepadoriai daug žinau. Ir ne todel,
kad esu "ypatingas", o todel, kad tuo metu, kai kiti kaip arkliai dirba,vaikosi paskutinio mados klyksmo, užsiimineja pokalbiais apie nieką,
"kala babkes" ir vartoja, vartoja, vartoja, AŠ UŽSIIMUSAVIŠVIETA."
Nugirstas pokalbio fragmentas.
![Page 16: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/16.jpg)
Algoritmo samprata
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
14 / 278
Kas yra algoritmas?
![Page 17: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/17.jpg)
Algoritmo samprata
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
14 / 278
Kas yra algoritmas?
Tai veiksmu seka, kurią reikia atlikti norint pasiekti tam tikrąrezultatą.
![Page 18: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/18.jpg)
Pavyzdys I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
15 / 278
Norime išsivirti arbatos. Ką daryti?
1. Pripilame vandens i arbatinuką.2. Užkaičiame.3. I puodeli idedame arbatžoliu.4. Kai vanduo užvirs, užplikome arbatžoles.
![Page 19: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/19.jpg)
Klausimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
16 / 278
Ar viskas gerai?
![Page 20: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/20.jpg)
Klausimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
16 / 278
Ar viskas gerai?Ar iš tiesu viskas gerai?
![Page 21: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/21.jpg)
Atsakymas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
17 / 278
Taip. Mes atsakeme, ką reikia daryti, norint išsivirti arbatos. Bet
![Page 22: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/22.jpg)
Atsakymas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
17 / 278
Taip. Mes atsakeme, ką reikia daryti, norint išsivirti arbatos. Betne kaip tą atlikti !!!
![Page 23: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/23.jpg)
Pavyzdys II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
18 / 278
1. Pripilame vandens i arbatinuką.
(a) Pasirenkame kokiu budu virinsime vandeni: ant ugnies(dujine virykle taip pat tinka), ant elektrines virykles,elektriniame virdulyje
(b) Pagal pasirinktą budą pasirenkame tam skirtą arbatinuką(c) Atidengiame angą skirtą vandens pripylimui (jei yra)(d) Pripildome arbatinuką vandens ne mažiau ir ne daugiau nei
numatyta (veiksmą galima detalizuoti)(e) Uždengiame angą (jei buvo atidaryta)
2. Užkaičiame...3. I puodeli idedame arbatžoliu...4. Kai vanduo užvirs..., užplikome arbatžoles...
![Page 24: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/24.jpg)
Išvada
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
19 / 278
Algoritmas – tai tiksliu veiksmu seka, kuri nusako ką ir kaip reikiaatlikti, norint gauti rezultatą.
![Page 25: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/25.jpg)
Privalomos sąlygos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
20 / 278
1. jis turi atlikti darbą2. jis turi buti aiškus ir nedviprasmiškas3. jis turi apibrežti žingsniu seką, reikalingą darbui atlikti, t.y. jis turi
nurodyti žingsniu atlikimo tvarką4. algoritmas turi buti baigtinis:
(a) atliekamu žingsniu skaičius turi buti baigtinis, t.y.algoritmas turi tikrai baigti darbą
(b) kiekvienam žingsniui atlikti turi pakakti baigtinio laiko irbaigtiniu resursu, t.y. kiekvienas žingsnis turi buti toks, kadji butu galima atlikti
![Page 26: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/26.jpg)
Algoritmu tipai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
21 / 278
■ 1-3 punktus tenkinantys algoritmai vadinami daliniais■ 1-5 punktus tenkinantys algoritmai vadinami pilnais
![Page 27: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/27.jpg)
Pavyzdys III
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
22 / 278
1. Atnešk vandens2. Kartok pirmą žingsni
![Page 28: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/28.jpg)
Uždavinio sprendimo metodika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
23 / 278
Skaldyk ir valdyk.
![Page 29: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/29.jpg)
Namu darbai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
24 / 278
Parašykite algoritmą kokiam nors kasdieniniam darbui atlikti.
![Page 30: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/30.jpg)
Python’o interpretatorius
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
25 / 278
![Page 31: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/31.jpg)
?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
26 / 278
Gyvenimas tiktai viena garantuoja visiems be išimties ir veltui – mirti,visa kita – priklauso nuo tavo pastangu.
![Page 32: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/32.jpg)
Ivadas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
27 / 278
Python’as - interpretuojama programavimo kalba.
![Page 33: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/33.jpg)
Python’o savybes
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
28 / 278
1. Paprastas2. Lengvai išmokstamas3. Nemokamas ir atviro kodo4. Aukšto lygio programavimo kalba5. Daugiaplatformis6. Interpretuojamas7. Objektiškai orientuotas8. Išplečiamas9. Iterpiamas10. Daug biblioteku
![Page 34: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/34.jpg)
Interpretuojamas... Ką tai reiškia?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
29 / 278
Kompiliuojama programa, pavyzdžiui, parašyta su C ar C++, yrapakeičiama iš pirminio kodo i kalbą, kurią supranta kompiuteris, t.y. 0ir 1 (dvejetainis arba binarinis kodas). Vykdant programą, ikelykle(loader) nukopijuoja programą i atminti ir ją paleidžia.Python’as nekompiliuoja pirminio kodo, o ji vykdo iš karto. Vidinismechanizmas paverčia pirmini kodą i tarpinę baitinę programą(bytecode), kuri po to yra transliuojama i kompiuterinę kalbą irivykdoma.
![Page 35: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/35.jpg)
Kas namelyje gyvena?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
30 / 278
$ python −VPython 3 . 2 . 2
![Page 36: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/36.jpg)
Pirmoji programa
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
31 / 278
> pythonPython 2 . 6 . 1 ( r261 :67515 , Jun 24 2010 , 2 1 : 4 7 : 4 9 )[GCC 4 . 2 . 1 ( Apple I n c . b u i l d 5646) ] on da rw inType " he l p " , " c o p y r i g h t " , " c r e d i t s " or " l i c e n s e "fo r more i n f o rma t i o n .>>> pr in t ( " Sve i ka s , ␣ P a s a u l i ! " )Sve i ka s , P a s a u l i !>>>
![Page 37: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/37.jpg)
Naudojantis failais I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
32 / 278
Imkime pati paprasčiausią tekstini redaktoriu (pavyzdžiui, Notepad,TextEdit, GEdit ir t.t.). Sukurkime naują failą ir jame irašykime:
#!/ u s r / b i n / python#Fi l ename : mano_pirmoji_programa . py
pr in t ( ’ Sve i ka s , ␣ P a s a u l i ! ’ )
Išsaugokime pavadinimu mano_pirmoji_programa.py.
![Page 38: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/38.jpg)
Naudojantis failais II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
33 / 278
$ python mano_pirmoji_programa . pySve i ka s , P a s a u l i !
![Page 39: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/39.jpg)
Ką reikia žinoti
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
34 / 278
Simbolis # nurodo, kad tai yra komentaras ir interpretatoriusnekreipia demesio i tokias eilutes išskyrus vieną atveji, kuometpirmoje eiluteje yra dvieju simboliu derinys – #!, po kurio sekaprogramos vieta. Tai nurodo GNU/Linux’inems arba Unix’inemssistemoms kuri interpretatoriu naudoti vykdant programą. Tačiau betkurioje sistemoje galima paleisti programą naudojantis komandapython failo_pavadinimas.py.
![Page 40: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/40.jpg)
Paleidžiamasis failas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
35 / 278
$ chmod a+x h e l l o w o r l d . py$ . / mano_pirmoji_programa . pySve i ka s , P a s a u l i !
![Page 41: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/41.jpg)
Jei nežinome, kur pasislepe Python’as
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
36 / 278
GNU/Linux’uose ir Unix’uose yra programele env, kuri surasinterpretatoriu ir paleis programą. Tokiu atveju pirmoji eilute turetubuti tokia:
#!/ u s r / b i n / env python
arba tokia
#!/ u s r / b i n / env python3
![Page 42: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/42.jpg)
Sintakse, semantika, pragmatika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
37 / 278
![Page 43: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/43.jpg)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
38 / 278
Bet kuri programavimo kalba turi savo taisykles, kaip reikia užrašytiprogramą.
![Page 44: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/44.jpg)
Taisykliu tipai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
39 / 278
1. Sintakse – tai reikalavimu, kuriuos turi tenkinti bet kuriprogramavimo kalbos programa, visuma.
2. Semantika – tai taisykles, nusakančios kokias operacijas ir kokiaeile turi atlikti mašina, veikdama pagal bet kokią programą, t.y.semantika nusako programavimo kalbos konstrukciju prasmę.
3. Pragmatika – tai programavimo metodologija, t.y. metodu,kuriais iš uždavinio formuluotes sudaroma sprendimo programa,aprašymas.
![Page 45: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/45.jpg)
Sintakse
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
40 / 278
"Turetu buti vienas ir, pageidautina, tik vienas akivaizdus budas taipadaryti."
(The Zen of Python)
![Page 46: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/46.jpg)
Raktiniai žodžiai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
41 / 278
and del for lambda raiseas elif from None (3.x) return
assert else global nonlocal (3.x) True (3.x)break except if not tryclass exec (paš. 3.x) import or while
continue False (3.x) in pass withdef finally is print (paš. 3.x) yield
![Page 47: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/47.jpg)
Itrauka (indentation)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
42 / 278
Skirtingai nuo daugumos kitu programavimo kalbu, kurios blokuženklinimui naudoja raktinius žodžius (Paskalyje begin ir end) arbasimbolius (C, Java kalbose { ir }), Python’as naudoja tarpus. Blokopradžioje rašomas dvitaškis ":". Rekomenduojama naudoti 4 tarposimbolius arba juos atitinkanti tabuliatoriu vieno lygio itraukai.Programoje nerekomenduojama naudoti mišru žymejimą, nestabuliatoriaus reikšme skirtingose platformose gali skirtis. Be to,galima gauti klaidą del netinkamo itrauku "ilgio".
![Page 48: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/48.jpg)
Pavyzdys I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
43 / 278
void foo ( i n t x ){
i f ( x == 0) {bar ( ) ;baz ( ) ;
} e l s e {qux ( x ) ;foo ( x − 1 ) ;
}}
def foo ( x ) :i f x == 0 :
bar ( )baz ( )
e l s e :qux ( x )foo ( x − 1)
![Page 49: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/49.jpg)
Pavyzdys II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
44 / 278
"Neteisingas" C kodas:
fo r ( i = 0 ; i < 20 ; ++i )a ( ) ;b ( ) ;
c ( ) ;
![Page 50: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/50.jpg)
Pavyzdys III
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
45 / 278
Neteisingas Python’o kodas:
i f True :pr in t "Answer"pr in t "True"
e l s e :pr in t "Answer"
pr in t " Fa l s e "
![Page 51: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/51.jpg)
Komentarai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
46 / 278
Simbolis # nurodo, kad tai yra komentaras.
![Page 52: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/52.jpg)
Komentarai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
46 / 278
Simbolis # nurodo, kad tai yra komentaras.Komentarą gali sudaryti tik viena eilute!Tiek komentarai, tiek tuščios eilutes interpretatoriaus yraignoruojamos. Išskyrus du atvejus - kai nurodomas kompiliatoriusir/arba nurodomas failo kodavimo tipas. Failo kodavimo tipasnurodomas pirmoje arba antroje programos eiluteje:
# −∗− cod ing : <kodavimo−pavad in imas> −∗−
![Page 53: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/53.jpg)
Sakinys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
47 / 278
Sakinys baigiasi nauja eilute. Norint pratęsti eilutę reikia naudotisimboli "\" :
t o t a l = p i rma_da l i s \a n t r a_da l i s
Jei naudojami skliausteliai [], {}, (), tuomet pratęsimo simbolionaudoti nereikia. Sakiniu atskyrimui toje pačioje eiluteje naudojamasir kabliataškis ";":
i f x < y : pr in t ( x ) ; pr in t ( y )
![Page 54: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/54.jpg)
Identifikatoriai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
48 / 278
Identifikatoriu vardai gali buti sudaryti iš raidžiu ir skaitmenu (išskyruspirmą simboli). Taip pat galima naudoti pabraukimą "_". Nuo 3.xversijos galima naudoti ne tik ASCII, bet ir UNICODE simbolius.
![Page 55: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/55.jpg)
Specialus žymejimai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
49 / 278
■ _* – interaktyviame režime identifikatorius "_" naudojamasišsaugoti paskutinio iverčio rezultatui.
■ _*_ – sistemos apibrežti identifikatoriai.■ __* – privatus klases identifikatoriai.
![Page 56: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/56.jpg)
Semantika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
50 / 278
Kad lengviau butu suprasti, kokios klaidos yra daromos, pateiksimepavyzdi.
![Page 57: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/57.jpg)
Semantika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
50 / 278
Kad lengviau butu suprasti, kokios klaidos yra daromos, pateiksimepavyzdi.Dalyba iš nulio.
![Page 58: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/58.jpg)
Pragmatika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
51 / 278
Programa turetu atlikti tik tiek žingsniu, kiek yra butina rezultatuipasiekti
![Page 59: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/59.jpg)
Pragmatika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
51 / 278
Programa turetu atlikti tik tiek žingsniu, kiek yra butina rezultatuipasiekti arba nenaudoti to, ko tikrai nereikia.
![Page 60: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/60.jpg)
Kintamieji ir duomenu tipai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
52 / 278
![Page 61: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/61.jpg)
Objektai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
53 / 278
Python’as yra stipriai objektiškai orientuota programavimo kalba. Taireiškia, kad apie viską kalbama kaip apie objektą, iskaitant skaičius,simboliu eilutes ir funkcijas.
![Page 62: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/62.jpg)
Kintamieji
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
54 / 278
Kintamąji aprašo jo vardas. Yra kelios paprastos taisykles, kuriu reikialaikytis.
■ Vardas turi prasideti raide arba "_".■ Galima naudoti raides, skaičius ir "_".■ Didžiosios ir mažosios raides skiriasi.
![Page 63: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/63.jpg)
Dar šis tas...
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
55 / 278
Python’as yra dinamiškai tipizuota programavimo kalba. Tai reiškia,kad kintamieji neturi fiksuoto tipo, bet ji turi kintamajam priskiriamareikšme. Todel yra teisingas toks kodo fragmentas:
x = 5pr in t ( x )x = "Tas␣ p a s l a p t i n g a s ␣ p a s a u l i s "pr in t ( x )
Python’as taip pat yra stipriai tipizuota programavimo kalba. Taireiškia, kad tipai visuomet kontroliuojami ir juos reikia išreikštiniubudu konvertuoti, norit pakeisti tipą.
![Page 64: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/64.jpg)
Duomenu tipai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
56 / 278
■ Sveikieji skaičiai (integer) – ..., -2, -1, 0, 1, 2, ... 32 bitai■ Realieji skaičiai (float) – 3.14, 10., 1e100, 3.14e-10. 64 bitai■ Dideli sveikieji skaičiai (long integer) – labai dideli skaičiai, ju
pabaigoje rašome "L", 234187626348292917L, 7L■ Aštuntainiai sveikieji skaičiai – pagrindo 8 sveikieji skaičiai,
prasideda 0, pvz., 0177■ Šešioliktainiai sveikieji skaičiai – pagrindo 16 sveikieji skaičiai,
prasideda 0x, pvz., 0x9FC■ Kompleksiniai – sudaryti iš realios ir menamos daliu, 3 + 4j, 1.23
- 0.7j■ Simboliu eilutes (string)■ Sąrašas (list)■ Žodynas (dictionary)■ Kortežas (tuple)■ Aibes (set)■ Failas (file)
![Page 65: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/65.jpg)
Simboliu eilutes
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
57 / 278
Simboliu sekos tarp kabučiu, ’seka’, "kita seka" yra vadinamossimboliu eilutemis. Naudodami kairini brukšni "\" eilutes galenurodome, kad sekanti eilute yra dabartines tęsinys. Taip pat galimanaudoti trigubas kabutes.
>>> h e l l o = "Tai ␣ y ra ␣ l a b a i ␣ i l g a ␣ e i l u t e , ␣\n\. . . ␣ s ud a r y t a ␣ i s ␣ k e l i u ␣ t e k s t o ␣ e i l u c i u . \ n\. . . ␣␣␣␣␣Tarpas ␣ s i o s ␣ e i l u t e s ␣ p r a d z i o j e ␣ y ra \. . . ␣ r e i k sm i n g a s . ">>> pr in t ( h e l l o )
![Page 66: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/66.jpg)
Simboliu eilutes
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
58 / 278
■ Eilutes yra indeksuojamos.■ Pačios eilutes negali buti keičiamos.■ Eilutes yra iteruojamos eilute[x:y], kur x ir y nurodo atkarpos
pradžią ir pabaigą [x, y). Kiekvienas iš ju nera butinas.■ Standartine funkcija len() grąžina eilutes ilgi.
Indeksavimas gali buti ir neigiamas!P a g a l b a0 1 2 3 4 5 6-7 -6 -5 -4 -3 -2 -1
![Page 67: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/67.jpg)
Simboliu eilutes
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
59 / 278
>>> ’ spam␣ eggs ’’ spam␣ eggs ’>>> ’ doesn \ ’ t ’" doesn ’ t ">>> "doesn ’ t "" doesn ’ t ">>> ’ "Yes , " ␣he␣ s a i d . ’’ "Yes , " ␣he␣ s a i d . ’>>> "\"Yes , \" ␣he␣ s a i d . "’ "Yes , " ␣he␣ s a i d . ’>>> ’ " I s n \ ’ t , " ␣ she ␣ s a i d . ’’ " I s n \ ’ t , " ␣ she ␣ s a i d . ’
![Page 68: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/68.jpg)
Aibe
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
60 / 278
Aibe yra nerikiuotu elementu rinkinys, kuriame nera pasikartojančiuelementu.
>>> baske t = [ ’ app l e ’ , ’ o range ’ , ’ app l e ’ ,’ pea r ’ , ’ o range ’ , ’ banana ’ ]>>> f r u i t = s e t ( ba ske t )>>> f r u i ts e t ( [ ’ o range ’ , ’ pea r ’ , ’ a pp l e ’ , ’ banana ’ ] )
Dirbame kaip su aibemis – sankirta, sąjunga, skirtumas ir t.t..
![Page 69: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/69.jpg)
Sąrašas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
61 / 278
Sąrašą sudaro elementu rinkinys apskliaustas laužtiniais skliaustais. Išesmes tai yra sunumeruota elementu seka (pradedant nuliniuelementu)):
>>> a = [ ’ spam ’ , ’ eggs ’ , 100 , 1234]>>> a[ ’ spam ’ , ’ eggs ’ , 100 , 1234]
Taip pat tinka funkcija len()Kai kuriose programavimo kalbose tai butu masyvo atitikmuo su tamtikrom išimtimis.
![Page 70: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/70.jpg)
Žodynas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
62 / 278
Tai yra nesutvarkytu poru raktas : reikšme aibe, žymima {}.
>>> t e l = { ’ j a c k ’ : 4098 , ’ sape ’ : 4139}>>> t e l [ ’ gu ido ’ ] = 4127>>> t e l{ ’ sape ’ : 4139 , ’ gu ido ’ : 4127 , ’ j a c k ’ : 4098}
Raktu gali buti bet kuris nekintamas tipas.
![Page 71: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/71.jpg)
Žodynas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
63 / 278
■ del() – ištrina žodyno irašą.■ jei irašoma nauja reikšme panaudojant egzistuojanti raktą, sena
reikšme "pamirštama".■ jei bandysite gauti reikšmę naudodamiesi neegzistuojančiu raktu –
gausite klaidą.■ keys() – grąžina naudojamu raktu sąrašą.■ sort() – surikiuoja sąrašą.■ in – tikrina ar yra raktas žodyne.■ dict() – sukonstruoja žodyną iš kortežu sąrašo.
![Page 72: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/72.jpg)
Kortežas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
64 / 278
Keliu reikšmiu seka atskirta kableliais. Taip pat numeruojama nuo 0.Kai kuriose programavimo kalbose tai primintu irašo tipą.
>>> t = (12345 , 54321 , ’ l a b a s ! ’ )>>> t [ 0 ]12345>>> t(12345 , 54321 , ’ l a b a s ! ’ )
Kortežai, kaip ir eilutes negali buti keičiami, bet galima sukurtikortežą, kurio nariai yra kintami objektai.Norint sukurti tuščią kortežą pakanka panaudoti skliaustelius "()", onorint sukurti kortežą su vienu elementu – "(5, )"
![Page 73: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/73.jpg)
Operacijos ir reiškiniai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
65 / 278
![Page 74: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/74.jpg)
Operacijos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
66 / 278
Norint sekmingai programuoti, reikia gerai žinoti kokias operacijasgalima atlikti ir koki rezultatą jos grąžina.
![Page 75: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/75.jpg)
Operatoriai I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
67 / 278
Operatorius Reikšme Pavyzdžiai+ Sudeda du objek-
tus3 + 5 = 8; ’a’ + ’b’ = ’ab’.
- Atima vieną skai-čiu iš kito
-5 suprantamas kaip 0 - 5;10 - 5 = 5.
* Sandauga 2 * 3 = 6; ’la’ * 3 = ’lalala’.** Laipsnis 3 ** 4 = 3 * 3 * 3 * 3./ Dalyba 4 / 3 = 1.(3) (3.x).// Sveikoji dalyba 4 // 3 = 1, 7 // -3 = -3
(floor).% Liekana 8 % 3 = 2; -25.2 % 2.25 =
1.5.« Bitinis postumis i
kairę2 « 2 = 8. 810 = 102,pastumus per 2 pozicijasgausime 10002 = 810.
» Bitinis postumis idešinę
11 » 1 = 5.
![Page 76: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/76.jpg)
Operatoriai II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
68 / 278
Operatorius Reikšme Pavyzdžiai& Bitinis AND 5 & 3 = 1, nes 0101 & 0011
= 0001.| Bitinis OR 5 | 3 = 7.∧ Bitinis XOR 5 ∧ 3 = 6.∼ Bitinis NOT
-(x+1)5 = -6.
< Mažiau 5 < 3 => False; 3 < 5 =>True.
> Daugiau 5 > 3 => True.<= Mažiau arba lygu 3 <= 6 => True.>= Daugiau arba lygu 6 >= 6 => True.== Lygu 2 == 2 => True; ’str’ ==
’str’ => True’.!= Nelygu 2 != 3 => True.
![Page 77: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/77.jpg)
Operatoriai III
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
69 / 278
Operatorius Reikšme Pavyzdžiainot Loginis paneigimas not True => False.and Loginis AND x = False; y = True; x and
y => False. Kadangi x yraFalse, tai y nera ivertinamas.
or Loginis OR y or x => True. x taip patnera ivertinamas.
![Page 78: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/78.jpg)
Santrumpos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
70 / 278
Santrumpa Reikšmea *= b a = a * ba +=b a = a + ba -=b a = a - ba /=b a = a / ba //=b a = a // ba % =b a = a % b
![Page 79: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/79.jpg)
Operatoriu hierarchija I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
71 / 278
Sąrašas pateikiamas nuo mažiausio prioriteto iki didžiausio.Operatorius Aprašaslambda Lambda išraiška
or Loginis ORand Loginis ANDnot x Loginis NOT
in, not in Priklausomybes tikrinimasis, is not Identiškumo tikrinimas
<, <=, >, >=, !=, == Palyginimai| Bitinis OR∧ Bitinis XOR& Bitinis AND
«, » Postumiai+, - Suma ir skirtumas
*, /, //, % Sandauga, dalybos operacijos... ...
![Page 80: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/80.jpg)
Operatoriu hierarchija II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
72 / 278
... ...+x, -x Teigiamas, neigiamas∼ x Bitinis NOT** Kelimas laipsniu
x.attribute Kreipimasis i atributąx[index] Elementas
x[index1:index2] Poaibisf(arguments ...) Funkcijos kvietimas(expressions, ...) Skliausteliai arba kortežas[expressions, ...] Sąrašas{key:datum, ...} Žodynas
![Page 81: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/81.jpg)
Reiškiniai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
73 / 278
Python’o kalba leidžia naudoti daug ivairiu reiškiniu. Be atominiu(nebedalomu) išraišku galima naudoti ir tokias:
■ x = y = z – suprantama kaip x = (y = z)■ x < y < z – suprantama kaip x < y and y < z
![Page 82: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/82.jpg)
Slankaus kablelio aritmetika
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
74 / 278
![Page 83: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/83.jpg)
Dvejetaine išraiška
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
75 / 278
Slankaus kablelio skaičiai kompiuteriuose atvaizduojami dvejetainemistrupmenomis. Pavyzdžiui,0.12510 = 1/10 + 2/100 + 5/1000, arba0.0012 = 0/2 + 0/4 + 1/8.
![Page 84: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/84.jpg)
Problema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
76 / 278
Pameginkime nustatyti, kur slypi problema. Aproksimuokime skaičiu1/3. Galime aproksimuoti: 0,3
![Page 85: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/85.jpg)
Problema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
76 / 278
Pameginkime nustatyti, kur slypi problema. Aproksimuokime skaičiu1/3. Galime aproksimuoti: 0,33
![Page 86: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/86.jpg)
Problema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
76 / 278
Pameginkime nustatyti, kur slypi problema. Aproksimuokime skaičiu1/3. Galime aproksimuoti: 0,333ir t.t. T.y. galime aproksimuoti kaip norime tiksliai, bet niekadanegausime 1/3.
![Page 87: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/87.jpg)
Problema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
77 / 278
Lygiai taip pat neimanoma dešimtainio skaičiaus 0,1 tiksliaiatvaizduoti kaip dvejetaines trupmenos. Dvejetaineje skaičiavimosistemoje, 1/10 yra begaline pasikartojanti trupmena:0.000110011...
![Page 88: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/88.jpg)
Aproksimacija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
78 / 278
Paemus fiksuotą kieki bitu, gausime aproksimaciją.Dauguma šiandieniniu mašinu slankaus kablelio skaičius aproksimuojadvejetaine trupmena, kurios skaitiklis naudoja pirmuosius 53 bitus,pradedant pačiu reikšmingiausiu, ir dvejeto laipsnio vardikliu.1
10≃
3602879701896397
255 .
![Page 89: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/89.jpg)
Vaizdavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
79 / 278
Svarbu suprasti, kad tai, kas matoma (spausdinama reikšme), nevisada yra tai, kas saugoma atmintyje ("tikroji" reikšme).0,1 =0,1000000000000000055511151231257827021181583404541015625,bet
![Page 90: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/90.jpg)
Vaizdavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
79 / 278
Svarbu suprasti, kad tai, kas matoma (spausdinama reikšme), nevisada yra tai, kas saugoma atmintyje ("tikroji" reikšme).0,1 =0,1000000000000000055511151231257827021181583404541015625,bet
>>> 1/100.10000000000000001
![Page 91: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/91.jpg)
Nelinksmos išvados
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
80 / 278
Kuo ypatingi skaičiai:
■ 0,1■ 0,10000000000000001■ 0,10000000000000000555-
11151231257827021181583404541015625
Visi jie aproksimuojami ta pačia dvejetaine trupmena.
![Page 92: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/92.jpg)
Klausimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
81 / 278
0,1 + 0,1 + 0,1 = ?
>>> round ( . 1 , 1) + round ( . 1 , 1) + round ( . 1 , 1) == round ( . 3 , 1)F a l s e
![Page 93: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/93.jpg)
Kur problema?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
82 / 278
>>> 0.10.10000000000000001>>> 0.30.29999999999999999
![Page 94: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/94.jpg)
Kas kaltas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
83 / 278
![Page 95: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/95.jpg)
Kas kaltas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
83 / 278
"Geležis". Problema slypi pačioje dvejetaines aritmetikos prigimtyje,bet
![Page 96: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/96.jpg)
Kas kaltas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
83 / 278
"Geležis". Problema slypi pačioje dvejetaines aritmetikos prigimtyje,bet dažniausiai gausime norimą rezultatą.
![Page 97: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/97.jpg)
Moduliai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
84 / 278
■ Decimal■ Fractions■ Numerical ir kt. iš SciPy (http://scipy.org)
![Page 98: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/98.jpg)
Baigiant
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
85 / 278
Programuoti reiketu atsižvelgiant i šią problemą ir rašyti kodą taip,kad jos neliktu.
![Page 99: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/99.jpg)
Sakiniai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
86 / 278
![Page 100: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/100.jpg)
Srauto valdymas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
87 / 278
Programos srauto valdymu yra vadinama programinio kodo vykdymotvarka.
![Page 101: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/101.jpg)
Kas yra pasirinkimas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
88 / 278
![Page 102: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/102.jpg)
Kas yra pasirinkimas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
89 / 278
![Page 103: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/103.jpg)
Kas yra pasirinkimas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
90 / 278
![Page 104: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/104.jpg)
Sąlyginis sakinys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
91 / 278
Sąlyginis sakinys leidžia pasirinkti, kuri programinio kodo dalis busivykdyta.
![Page 105: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/105.jpg)
Sintakse
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
92 / 278
i f e x p r e s s i o n :s ta t ement ( s )
e l i f e x p r e s s i o n :s ta t ement ( s )
. . .e l s e :
s t a t ement ( s )
![Page 106: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/106.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
93 / 278
i f x < 5 :pr in t " s k o l a "
e l i f x < 9 :pr in t " g e r a i "
e l s e :pr in t " p u i k i a i "
![Page 107: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/107.jpg)
Svarbu žinoti
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
94 / 278
■ "elif" ir "else" dalys nera privalomos;■ sąlyginis sakinys vykdomas eiles tvarka (iš viršaus žemyn) ir
ieškoma pirmoji sąlyga, kuri grąžina rezultatą "True". Ivykdomitik tai sąlygai priklausantys sakiniai ir sakinys užbaigiamasvykdyti;
■ "else" dali galima apibudinti kaip "visais kitais atvejais" ir, jei jibuvo panaudota, ji bus ivykdyta, jei ankstesnes sąlygosnetenkinamos.
![Page 108: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/108.jpg)
Svarbu žinoti 2
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
95 / 278
Kitose programavimo kalbose buna realizuotas invariantinis sakinys.Deja, bet Python’e jis nera realizuotas ir reikia naudoti sąlyginiussakinius arba, objektinio programavimo atveju, išnaudoti polimorfizmoteikiamas galimybes. Vis delto, egzistuoja galimybe "nulaužti"programavimo kalbą ir tam tikrus atvejus realizuoti žodyno pagalba.Tai aptarsime kitame skyriuje.
![Page 109: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/109.jpg)
Kas yra ciklas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
96 / 278
![Page 110: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/110.jpg)
Ciklo apibrežimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
97 / 278
Ciklas yra tam tikros programos dalies kartojimas tol, kol yratenkinama tam tikra sąlyga.
![Page 111: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/111.jpg)
Schematinis vaizdavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
98 / 278
![Page 112: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/112.jpg)
Ciklu tipai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
99 / 278
■ while – kartojama tol, kol tenkinama sąlyga■ for – kartojama tol, kol išraiška yra iteruojama
![Page 113: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/113.jpg)
Ciklas "while"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
100 / 278
whi le e x p r e s s i o n :s ta t ement ( s )
![Page 114: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/114.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
101 / 278
x = 10count = 0whi le x > 0 :
x = x / 2count += 1
pr in t "$log_2x$␣ a p y t i k s l i a i ␣ l y g u s " , count
![Page 115: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/115.jpg)
Ciklas "for"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
102 / 278
fo r v a r i a b l e in i t e r a t o r :s t a t ement ( s )
![Page 116: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/116.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
103 / 278
fo r l e t t e r in " c i a o " :pr in t "duok␣man" , l e t t e r , " . . . "
![Page 117: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/117.jpg)
Iteratoriai 1
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
104 / 278
Iteratoriumi gali buti bet kokia išraiška, tinkanti itaisytąjai (built-in)funkcijai iter, kuri ir grąžina iteratoriu kaip objektą. Pavyzdžiui, betkokia seka yra iteruojama. Apibendrinant, jei išraišką galimasunumeruoti, tuomet ji yra ir iteruojama. Ciklas vykdomas tiek kartu,kiek yra elementu.
![Page 118: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/118.jpg)
Iteratoriai 2
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
105 / 278
Kadangi dažnai reikia sveikuju skaičiu seku, Python’as turi itaisytąsiasfunkcijas range ir xrange, kurios generuoja ir grąžina sveikuju skaičiusekas. range funkcija grąžina sąrašą reikšmiu, tuo tarpu xrangegrąžina specialiai iteratoriui skirtą objektą
![Page 119: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/119.jpg)
Amžinas ciklas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
106 / 278
Dirbant su ciklais reikia nepamiršti, kad blogai parašius kodą gausimeamžiną ciklą. Ciklo "while" atveju turi buti užtikrinta, kad sąlygatikrai bus kada nors nepatenkinama. Ciklo "for" atvejunerekomenduojama modifikuoti iteratoriaus (prideti, iterpti ar ištrintielementu)
![Page 120: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/120.jpg)
Ciklo valdymas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
107 / 278
Nors ciklas baigęs darbą sustoja pats, bet buna atveju, kai reikia cikląvaldyti "rankiniu" budu gavus tam tikras reikšmes. Tam yranaudojami sakiniai:
■ break■ continue■ pass
![Page 121: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/121.jpg)
"break"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
108 / 278
Naudojamas tik ciklo viduje. Nutraukia ciklo vykdymą.
x = 0whi le True :
x += 1i f x==100:
break
![Page 122: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/122.jpg)
"continue"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
109 / 278
Naudojamas tik ciklo viduje. Praleidžia "ejimą", t.y. pereinama priekito iteratoriaus žingsnio.
fo r x in range (1 , 10)i f x % 2==0:
continuee l s e :
pr in t x , " y ra ␣ n e l y g i n i s "
![Page 123: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/123.jpg)
"pass"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
110 / 278
Python’o sudetiniu sakiniu struktura yra tokia, kad neleidžia tuščiusakiniu. Veiksmo nebuvimui aprašyti naudojamas sakinys pass:
fo r x in range (1 , 10)i f x % 2==0:
passe l s e :
pr in t x , " y ra ␣ n e l y g i n i s "
![Page 124: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/124.jpg)
Baigiant
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
111 / 278
Programuojant svarbu prisiminti, kad pasaulis laikosi ant trijubanginiu:
■ sakinio
![Page 125: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/125.jpg)
Baigiant
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
111 / 278
Programuojant svarbu prisiminti, kad pasaulis laikosi ant trijubanginiu:
■ sakinio■ sąlygos
![Page 126: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/126.jpg)
Baigiant
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
111 / 278
Programuojant svarbu prisiminti, kad pasaulis laikosi ant trijubanginiu:
■ sakinio■ sąlygos■ ciklo
![Page 127: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/127.jpg)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
112 / 278
![Page 128: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/128.jpg)
Duomenu strukturos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
113 / 278
![Page 129: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/129.jpg)
Sekos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
114 / 278
Python’as palaiko daug operaciju, tinkančiu visoms sekoms, kaipsimboliu eilutes, sąrašai ir kortežai. Kai kurios operacijos taikomosvisiems konteineriams, kaip žodynai ir aibes, o dar kitos –iteruojamiems objektams (iterable – iteras).
![Page 130: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/130.jpg)
Bendrai apie sekas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
115 / 278
Sekos yra konteineriai, kuriu elementais galima manipuliuotinaudojantis indeksais arba dalinimu. Pavyzdžiui, itaisytoji funkcija lengrąžina bet kokio konteinerio elementu skaičiu, o itaisytoji funkcijasum – suskaičiuoja skaičiu sumą iteru, kuriu elementai yra skaičiai.
![Page 131: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/131.jpg)
Seku konvertavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
116 / 278
Nera neišreikštinio konvertavimo tarp skirtingu seku tipu išskyrussimboliu eilutes, kurios konvertuojamos i unikodą esant reikalui.Galima iškviesti itaisytąsias funkcijas tuple ir list iterams, norint gautinaujus egzempliorius reikiamo tipo.
![Page 132: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/132.jpg)
Sujungimas ir kartojimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
117 / 278
To paties tipo sekas galima sujungti naudojantis operatoriumi "+".Taip pat galima padauginti seką iš sveiko skaičiaus n – S ∗ n = n ∗ S.Jei n 6 0, tuomet grąžinama tuščia seka.
![Page 133: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/133.jpg)
Priklausomybes tikrinimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
118 / 278
Operatorius x in S patikrina ar objektas x priklauso sekai S.Rezultatas yra True jei priklauso ir False priešingu atveju. x not in S= not (x in S). Simboliu eilučiu atveju tikrinama ar egzistuoja tokiaeilutes dalis.
![Page 134: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/134.jpg)
Sekos indeksavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
119 / 278
■ n-tasis sekos S elementas apibrežiamas indeksu S[n].■ Indeksavimas pradedamas nuo 0.■ Galima naudoti ir neigiamus skaičius – -n = len(S)-n.■ Išeinant už sekos ribu gaunamas klaidos pranešimas.
![Page 135: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/135.jpg)
"Pjaustant" sekas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
120 / 278
Sintakse S[i : j] apibrežia poseki, kuri sudaro sekos S elementai nuoi-ojo iki j-ojo, pastarojo neitraukiant. Python’o intervalai visuometitraukia apatini reži ir neitraukia viršutinio. Kurio nors elementonebuvimas ekvivalentus tam, kad posekis prasideda nuo 0 arbabaigiasi paskutiniuoju sekos nariu.
>>> x = [1 , 2 , 3 , 4 ]>>> x [ : ][ 1 , 2 , 3 , 4 ]
![Page 136: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/136.jpg)
Išplestine sintakse
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
121 / 278
Galima naudoti išplestinę sintaksę sekoms – S[i : j : k]. Čia k nurodopoaibio žingsni.Ką gausime užrašę taip S[ : : -1] ?
![Page 137: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/137.jpg)
Iteratoriai 1
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
122 / 278
Iteratoriumi gali buti bet kokia išraiška, tinkanti itaisytąjai (built-in)funkcijai iter, kuri ir grąžina iteratoriu kaip objektą. Pavyzdžiui, betkokia seka yra iteruojama. Apibendrinant, jei išraišką galimasunumeruoti, tuomet ji yra ir iteruojama. Ciklas vykdomas tiek kartu,kiek yra elementu.
![Page 138: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/138.jpg)
Iteratoriai 2
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
123 / 278
Kadangi dažnai reikia sveikuju skaičiu seku, Python’as turi itaisytąsiasfunkcijas range ir xrange, kurios generuoja ir grąžina sveikuju skaičiusekas. range funkcija grąžina sąrašą reikšmiu, tuo tarpu xrangegrąžina specialiai iteratoriui skirtą objektą
![Page 139: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/139.jpg)
Bendri metodai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
124 / 278
Metodas del ištrina nurodytą objektą. Pavyzdžiui: del x[i] ištrintusąrašo elementą, o del x – visą sąrašą. Metodas len grąžina objektoelementu skaičiu.
![Page 140: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/140.jpg)
Simboliu eilute
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
125 / 278
Simboliu eilutes, kaip objektai, yra nekintantys, todel, meginantpersieti ar trinti elementus ar posekius, gausime klaidą. Simboliueilutes elementas yra taip pat simboliu eilute, kurios ilgis yra 1.
![Page 141: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/141.jpg)
Simboliu eilučiu metodai I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
126 / 278
s.capitalize(x) Žodis prasides didžiąja raide, visos ki-tos – mažosios
s.center(n, fillchar = ’ ’) Centruoja simboliu eilutę; jei ji ilgesneuž n – užpildo fillchar simboliais
s.count(sub, start = 0,end = sys.maxint)
Suskaičiuoja nepersidengiančiu posekiukieki
s.encode(codec = None,errors = ’strict’)
Pakeičia simboliu eilutes koduotę
s.endswith(suffix, start= 0, end = sys.maxint)
Grąžina true, jei s baigiasi suffix ’u
s.expandtabs(tabsize =8)
Pakeičia tabuliatorius nurodytu kiekiutarpu
s.find(sub, start = 0, end= sys.maxint)
Grąžina mažiausią indeksą, nuo kurioprasideda posekis sub, kuris randasiposekyje s[start:end]
![Page 142: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/142.jpg)
Simboliu eilučiu metodai II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
127 / 278
s.index(sub, start = 0,end = sys.maxint)
Panaši i find, tink grąžina klaidospranešimą neradus posekio
s.isalnum() Grąžina true jei visi simboliai yra raidesarba skaičiai
s.isalpha() Grąžina true jei visi simboliai yra raidess.isdigit() Grąžina true jei visi simboliai yra
skaičiais.islower() Grąžina true jei visi simboliai yra mažo-
sios raidess.isspace() Grąžina true jei visi simboliai yra tarpais.istitle() Grąžina true jei s yra tituline antrašte,
t.y. kiekvienas žodis prasideda didžiąjaraide
s.isupper() Grąžina true, jei visi simboliai yradidžiosios raides
![Page 143: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/143.jpg)
Simboliu eilučiu metodai III
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
128 / 278
s.join(seq) Grąžiną simboliu eilutę sudarytą iš seqelementu tarp ju iterpiant s
s.ljust(n, fillchar=’ ’) Grąžina ilgio n simboliu eilutę; jeireikia, pabaiga užpildoma fillchar
s.lower() Paverčia visas raides mažosiomiss.lstrip(x =string.whitespace)
Pašalina pirmuosius simbolius, kuriesudaro x
s.replace(old, new,maxsplit = sys.maxint)
Pakeičia pirmuosius maxsplit posekiusold i new
s.rfind(sub, start = 0,end = sys.maxint)
Grąžina didžiausią indeksą, nuo kurioprasideda posekis sub, kuris randasiposekyje s
s.rindex() Ekvivalentus rfinds.rjust(n, fillchar = ’ ’) Grąžina ilgio n simboliu eilutę; jei
reikia, pradžia užpildoma fillchar
![Page 144: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/144.jpg)
Simboliu eilučiu metodai IV
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
129 / 278
s.split(sep = None,maxsplit = sys.maxint)
Grąžina sąrašą daugiausiai su maxsplit+ 1 simboliu eilučiu; sep yra skirtukas
s.splitlines(keepends =False)
Ekvivalentus s.split(’\n’);
s.startswith(prefix, start= 0, end = sys.maxint)
Grąžina true, jei s[start:end] prasidedaprefix ’u
s.strip(x =string.whitespace)
Pašalina simbolius iš abieju pusiu kuriesudaro x
s.swapcase() Paverčia didžiąsias raides mažosiomis iratvirkščiai
s.title() Simboliu eilutę paverčia antraštes.translate(table,deletechars = ”)
Išsiaiškinti savarankiškai
s.upper() Paverčia visas raides didžiosiomiss.rstrip(x =string.whitespace)
Pašalina paskutiniuosius simbolius,kurie sudaro x
![Page 145: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/145.jpg)
Simboliu eilučiu formatavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
130 / 278
Tam naudojama tokia išraiška:
’ t e k s t a s ␣\%type ␣ t e k s t a s ’ \% va l u e ( s )
![Page 146: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/146.jpg)
Formatavimo niuansai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
131 / 278
■ Galima naudoti tiek paprastą, tiek unikodini tekstą■ Gali buti nurodoma tiek viena reikšme, tiek kelios (naudojamas
kortežas arba žodynas)■ Tarp % ir tipo galima nurodyti papildomą skaitini modifikatoriu
![Page 147: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/147.jpg)
Formatavimo tipai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
132 / 278
Simbolis Rezultatasd, i Sveikasis dešimtainis skaičius su ženkluu Sveikasis dešimtainis skaičius be ženkloo Aštuntainis skaičius be ženklox Šešioliktainis skaičius be ženklo (mažosios raides)X Šešioliktainis skaičius be ženklo (didžiosios raides)e Realaus skaičiaus eksponentine išraiška (e)E Realaus skaičiaus eksponentine išraiška (E)f, F Realaus skaičiaus dešimtaine išraiškag, G Veikia kaip ’e’, jei exp > 4 ar < precision, arba ’f’c Simbolisr Simboliu eilutes Simboliu eilute% % simbolis
![Page 148: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/148.jpg)
Pavyzdžiai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
133 / 278
x = 42y = 3.14z = " george "pr in t ’ r e s u l t ␣=␣\%d ’ \% xpr in t ’ answers ␣ a r e : ␣\%d␣\%f ’ \% ( x , y )pr in t ’ h e l l o ␣\%s ’ \% zpr in t ’ \%.2 f ’ \%(1/3.0)
![Page 149: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/149.jpg)
Kortežas (angl. tuple)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
134 / 278
Nekintantis, kaip ir simboliu eilute, objektas, bet gali buti sudaryti išskirtingo tipo elementu. Elementai atskiriami ",", todel tuščiaskortežas konstruojamas "()", o vieno elemento – (x, ). Galiojabendrieji metodai.
![Page 150: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/150.jpg)
Sąrašas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
135 / 278
Sąrašas yra kableliu atskirtu, bet kokio tipo reikšmiu rinkinyslaužtiniuose skliausteliuose.
![Page 151: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/151.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
136 / 278
>>> x = [ ’ namas ’ , ’ k e l i a s ’ , 100 , 2 . 3 4 ]>>> x[ ’ namas ’ , ’ k e l i a s ’ , 100 , 2 .3399999999999999]
![Page 152: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/152.jpg)
Svarbu žinoti
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
137 / 278
■ S[i : j] = [] yra ekvivalentu del S[i : j]■ S[i : j] = [’a’, ’b’] pakeičia elementus nuo i -ojo iki j-ojo elementu■ S[ : ] – pakeičia visą sąrašą
Ką gausime užrašę S[i : i] = [’a’, ’b’]?
![Page 153: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/153.jpg)
Sąrašu metodai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
138 / 278
S.count(x) Suskaičiuoja sąrašo elementu lygiu xkieki
S.index(x) Pirmojo elemento, lygaus x, indeksasarba klaida, jei tokio elemento nera
S.append(x) Prijungia elementą xS.extend(s) prijungia visus itero s elementusS.insert(i, x) iterpia elementą x prieš i -ąji elementąS.remove(x) pašalina pirmąji elementą lygu x arba
klaidaS.pop([i]) grąžina ir pašalina i -ąji (arba paskutini)
elementą arba klaidaS.reverse() apgręžia sąrašąS.sort([f]) rušiuoja elementus pagal funkciją f
(arba itaisytąją funkciją cmp)S.sort(cmp = cmp, key= None, reverse =False)
apie tai kitoje skaidreje
![Page 154: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/154.jpg)
Rušiuojant sąrašus
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
139 / 278
■ Naudojamas Timo Peterso algoritmas (timsort), kuris yrarušiavimo suliejimu ir iterpimu hibridas
■ Pirmasis parametras turi grąžinti -1, 0 arba 1 tam, kad butugalima palyginti du elementus
■ Jei key yra ne None, tai yra palyginami ne x ir y, o ju "raktai" –cmp(key(x), key(y))
■ reverse nurodo elementu tvarką
![Page 155: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/155.jpg)
Aibes
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
140 / 278
Aibe yra nesutvarkytas unikaliu duomenu rinkinys.
>>> x=s e t ( [ 1 , 2 , 2 , 3 , ’ s ’ ]>>> xs e t ( [ 1 , 2 , 3 , ’ s ’ ] )
![Page 156: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/156.jpg)
Aibiu metodai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
141 / 278
A.copy() Sukuria aibes kopijąA.difference(A1) Aibiu skirtumasA.intersection(A1) Aibiu sankirtaA.issubset(A1) Patikrina ar A yra A1 poaibisA.issuperset(A1) Patikrina ar A1 yra A poaibisA.symmetric_difference(A1) Aibe, sudaryta iš elementu, priklau-
sančiu tik A arba tik A1A.union(A1) Aibiu sąjungaA.add(x) Papildo aibę elementuA.clear() Pašalina visus elementusA.discard(x) Pašalina elementąA.pop() Pašalina ir grąžina atsitiktini ele-
mentąA.remove(x) Pašalina elementą
![Page 157: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/157.jpg)
Žodynai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
142 / 278
Žodynas yra duomenu, turinčiu "raktą", aibe – {raktas1 : reikšme1,raktas2 : reikšme2, ...}
![Page 158: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/158.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
143 / 278
>>> d = { ’ x ’ : 42 , ’ y ’ : 3 . 1 4 , ’ z ’ : 7 }>>> d [ ’ x ’ ]42>>> d [ ’ z ’ ]7>>> d [ ’ a ’ ]KeyEr ro r e x c e p t i o n>>> d [ ’ a ’ ] = 16
![Page 159: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/159.jpg)
Žodyno metodai I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
144 / 278
Metodas AprašymasZ.copy() Sukuria paviršinę žodyno kopiją (ele-
mentai nera nukopijuojami)Z.has_key(k) Patikrina ar žodyne yra raktas kZ.items() Grąžina sąrašą, sudarytą iš poru (rak-
tas, reikšme)Z.keys() Grąžina sąrašą, sudarytą iš visu raktuZ.values() Grąžina sąrašą, sudarytą iš visu
reikšmiuZ.iteritems() Grąžina iteratoriu visiems elementamsZ.iterkeys() Grąžina iteratoriu visiems raktamsZ.itervalues() Grąžina iteratoriu visoms reikšmemsZ.get(k[, x]) Grąžina reikšmę nurodomą rakto k. Jei
nera – x arba NoneZ.clear() Išvalo žodynąZ.update(Z1) Kiekvienam k iš Z1 : Z[k] = Z1[k]
![Page 160: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/160.jpg)
Žodyno metodai II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
145 / 278
Metodas AprašymasZ.setdefault(k[, x]) Grąžina Z[k], jei k yra raktas, priešingu
atveju grąžina Z[k] = xZ.pop(k[, x]) Pašalina ir grąžina Z[k], arba x, arba
klaidos pranešimąZ.popitem() Pašalina ir grąžina atsitiktini elementą
![Page 161: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/161.jpg)
Naudotojo apibrežiamos duomenu strukturos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
146 / 278
![Page 162: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/162.jpg)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
147 / 278
“Tas, kuris per dieną aktyvus kaip bite, stiprus kaip jautis, dirba kaiparklys ir vakare namo pareina pavargęs kaip šuo, turetu pasitarti suveterinaru – labai didele tikimybe, kad jis yra asilas.”Kinu filosofas Čang Ing Ju
![Page 163: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/163.jpg)
Ar tikrai reikia?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
148 / 278
![Page 164: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/164.jpg)
Ar tikrai reikia?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
148 / 278
Prisiminkime kuo ypatingi Python’o kintamieji –>
![Page 165: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/165.jpg)
Ar tikrai reikia?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
148 / 278
Prisiminkime kuo ypatingi Python’o kintamieji –>netipizuoti.
![Page 166: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/166.jpg)
Atsakymas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
149 / 278
Ne.
![Page 167: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/167.jpg)
Priežastys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
150 / 278
![Page 168: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/168.jpg)
Priežastys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
150 / 278
■ Žodynas
![Page 169: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/169.jpg)
Priežastys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
150 / 278
■ Žodynas■ Sąrašas
![Page 170: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/170.jpg)
Priežastys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
150 / 278
■ Žodynas■ Sąrašas■ Kortežas
![Page 171: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/171.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
151 / 278
>>> a={1:10 , 2 :20}>>> b={3:30 ,4 :40}>>> sa r =[a , b ]>>> sa r[ { 1 : 10 , 2 : 20} , {3 : 30 , 4 : 40} ]
![Page 172: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/172.jpg)
Invariantinis sakinys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
152 / 278
Nemažai programavimo kalbu turi invariantini sakini – switch (norsgali skirtis sintakse ir galimybes). Python’as šios konstrukcijos neturi,nes galima išsiversti ir su if ... elsif ... else ... arba... panaudojantžodyną:
![Page 173: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/173.jpg)
Pavyzdys I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
153 / 278
f r u i t s = {" red " : lamdba : " app l e " ," b l u e " : lambda : " b l u e b e r r y " ," p ink " : lambda : "watermelon "}name = f r u i t s . ge t ( " red " ) ( )pr in t "Your␣ f r u i t ␣ i s ␣" + name
![Page 174: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/174.jpg)
Pavyzdys II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
154 / 278
r e s u l t = {’ a ’ : lambda x : x ∗ 5 ,’ b ’ : lambda x : x + 7 ,’ c ’ : lambda x : x − 2
} [ v a l u e ] ( x )
![Page 175: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/175.jpg)
Ir vis delto...
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
155 / 278
Mes LABAI norime sukurti savo tipą.
![Page 176: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/176.jpg)
Ir vis delto...
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
155 / 278
Mes LABAI norime sukurti savo tipą.Tam yra vienas budas - objektai.Bet apie juos mes pakalbesime veliau.
![Page 177: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/177.jpg)
Funkcijos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
156 / 278
![Page 178: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/178.jpg)
Kas yra funkcija?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
157 / 278
Python’o funkcija yra objektas,
![Page 179: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/179.jpg)
Kas yra funkcija?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
157 / 278
Python’o funkcija yra objektas, kuris visada grąžina rezultatą.Tai reiškia, kad su juo ir elgiamasi kaip su objektu. Pavyzdžiui,funkciją galima perduoti kaip kitos funkcijos parametrą.
![Page 180: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/180.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
158 / 278
>>> i n v e r s e = { s i n : a s i n , cos : acos , tan : atan , l o g : exp }>>> fo r f in i n v e r s e . key s ( ) :>>> i n v e r s e [ i n v e r s e [ f ] ] = f
![Page 181: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/181.jpg)
Kaip kuriama funkcija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
159 / 278
Funkcija apibrežiama raktiniu žodžiu def.
def f u n k c i j o s−va rda s ( pa r ame t r a i ) :s a k i n i a i
![Page 182: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/182.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
160 / 278
>>> def dv i guba s ( x ) :>>> return x∗2
![Page 183: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/183.jpg)
Parametrai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
161 / 278
■ Parametrai apibrežiami tik identifikatoriais yra privalomi■ Parametrai apibrežiami kaip identifikatorius = išraiška yra
pasirenkamieji ir rašomi po privalomuju parametru■ Parametras apibrežiamas kaip *identifikatorius nurodo bet koki
kieki papildomu poziciniu argumentu ir rašomas po pasirenkamujuparametru
■ Parametras apibrežiamas kaip **identifikatorius nurodo bet kokikieki papildomu vardiniu poziciniu argumentu ir rašomi pabaigoje
Parametru rinkinys apibrežia funkcijos parašą.
![Page 184: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/184.jpg)
Pavyzdys I
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
162 / 278
Numatytosios reikšmes yra ivertinamos funkcijos aprašymo momentu:
>>> i = 5>>> def f ( a rg=i ) :>>> pr in t ( a rg )>>> i = 6>>> f ( )5
![Page 185: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/185.jpg)
Pavyzdys II
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
163 / 278
Numatytosios reikšmes yra ivertinamos tik vieną kartą:
>>> def f ( x , y = [ ] ) :>>> y . append ( x )>>> return y>>> pr in t f (23) # spau sd i n a : [ 2 3 ]>>> p r i n f f (42)# spau sd i n a : [ 23 , 42 ]
![Page 186: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/186.jpg)
Pavyzdys III
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
164 / 278
>>> def sum_args (∗ s k a i c i a i ) :>>> return sum( s k a i c i a i )>>> pr in t sum_args (2 , 4)6
![Page 187: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/187.jpg)
Funcijos objekto atributai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
165 / 278
Komanda def apibrežia keletą standartiniu funkcijos atributu.Pavyzdžiui, funkcijos vardą func_name arba __name__:
>>> def mano ( ) :>>> return ’ S v e i k i ’>>> mano .__name__’mano ’
![Page 188: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/188.jpg)
Dokumentacija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
166 / 278
Kitas atributas yra dokumetacine eilute func_doc arba __doc__:
>>> def mano ( ) :>>> ’ S i ␣ f u n k c i j a ␣ n i e ko ␣ nedaro ’>>> return ’ S v e i k i ’>>> mano .__doc__’ S i ␣ f u n k c i j a ␣ n i e ko ␣ nedaro ’
![Page 189: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/189.jpg)
Naudotojo apibrežiami atributai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
167 / 278
Naudotojas gali apsibrežti savo atributus po funkcijos apibrežimo:
>>> def coun te r ( ) :>>> coun te r . count += 1>>> return coun te r . count>>> coun te r . count = 0>>> coun te r ( )1>>> coun te r ( )2
Pastaba. Programuojant geriau naudoti objektiškai orientuotusmechanizmus.
![Page 190: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/190.jpg)
Ką reikia žinoti apie return
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
168 / 278
■ naudojamas tik funkcijos viduje■ užbaigia funkcijos vykdymą ir grąžina išraiškos rezultatą■ nors galima išraiškos nenurodyti, rekomenduojama tokiu atveju
naudoti None
![Page 191: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/191.jpg)
Parametru vardu galiojimo sritys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
169 / 278
■ Tradiciškai yra perduodamos visu argumentu reikšmes, todelišoriniai kintamieji nera keičiami
■ Tačiau kintančio objekto atveju kinta pats objektas, nesPython’as perduoda objektą, o ne jo kopiją
■ Funkcijos parametrai ir argumentai yra vadinami lokaliaisparametrais, o ne lokalus – globaliais
■ Jei globalaus ir lokalaus parametru vardai sutampa, tuometfunkcijos viduje naudojamas lokalus parametras
■ Norint paskelbti kintamąji globaliu naudojamas raktažodis global
![Page 192: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/192.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
170 / 278
>>> def f ( x , y ) :>>> x = 23>>> y . append (42)>>> a = 77>>> b = [ 9 9 ]>>> f ( a , b )>>> pr in t a , b77 [ 99 , 42 ]
![Page 193: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/193.jpg)
Idetines funkcijos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
171 / 278
■ Funkcijos gali buti apibrežiamos kitu funkciju viduje■ Tokios funkcijos gali naudotis išorines funkcijos kintamaisiais■ Idetines funkcijos, naudojančios išorines funkcijos lokalius
parametrus, taip pat žinomos kaip uždariniai
>>> def make_adder ( augend ) :>>> def add ( addend ) :>>> return addend+augend>>> return add
![Page 194: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/194.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
172 / 278
>>> def p r o c e n t a i 1 ( a , b ) :>>> def pc ( x , t o t a l=a+b ) : return ( x ∗100 .0 ) / t o t>>> pr in t " P ro c en t a i : " , pc ( a ) , pc ( b )
>>> def p r o c e n t a i 2 ( a , b ) :>>> def pc ( x ) : return ( x ∗100 .0 ) / ( a+b )>>> pr in t " P ro c en t a i : " , pc ( a ) , pc ( b )
![Page 195: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/195.jpg)
lambda išraiškos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
173 / 278
Jei funkciją sudaro tik reiškinio rezultatas return, tuomet ją galimapakeisti lambda išraiška – lambda parameters: expression:
>>> f = lambda x , y : x+y>>> f (1 , 5)6
Pastaba. Nors kartais lambda išraiškos gali buti naudingos, geriaunaudoti standartines funkcijas.
![Page 196: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/196.jpg)
Generatoriai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
174 / 278
■ Jei funkcijoje panaudojamas bent vienas raktažodis yield, tokiafunkcija vadinama generatoriumi
■ Kviečiant generatoriu funkcija nera vykdoma, o grąžinamasiteratorius, apgaubiantis funkciją, lokalius kintamuosius irdabartini vykdymo tašką
■ Metodas next grąžina išraišką po raktažodžio yield■ Metodas next veikia iki raktažodžio yield pasikartojimo■ Pasibaigus funkcijai arba ivykus return sakiniui gaunamas klaidos
StopIteration pranešmas užbaigiantis iteravimą
Pastaba. Del savo veikimo ypatybiu, generatorius nesaugo visugeneruojamu reikšmiu, o grąžina tik einamąją. Tokiu budu yrasutaupoma daug atminties. Pasatba. Galima naudoti paprastesnęsintaksę sum(x*x for x in xrange(10)).
![Page 197: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/197.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
175 / 278
>>> def updown (N) :>>> fo r x in x range (1 , N) : y i e l d x>>> fo r x in x range (N, 0 , −1): y i e l d x>>> fo r i in updown ( 3 ) : pr in t i12321
![Page 198: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/198.jpg)
Recursija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
176 / 278
■ Python’as palaiko rekursijos galimybę■ Apribotas gylis iki 1000, bet galima pakeisti su funkcija
setrecursionlimit
![Page 199: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/199.jpg)
Bibliotekos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
177 / 278
![Page 200: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/200.jpg)
Moduliai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
178 / 278
Modulis – savarankiška programos dalis, talpinanti savyje programinikodą ir duomenis daugkartiniam panaudojimui
![Page 201: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/201.jpg)
Modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
179 / 278
■ Kiekvienas failas kartu yra ir modulis■ Moduliai tarpusavyje paprastai yra nepriklausomi (daugkartinis
panaudojimas)■ Modulio priklausomybe nuo kito modulio apibrežiama
raktažodžiais import arba from■ Nors pletinys (angl. extension) yra kitos programavimo kalbos
komponente, jis interpretuojamas taip pat kaip ir modulis■ Keliu moduliu grupe vadinama biblioteka arba paketu (angl.
package)
![Page 202: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/202.jpg)
Modulis kaip objektas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
180 / 278
Modulio ir failo pavadinimas paprastai sutampa, t.y. modulio testaskodas yra talpinamas faile modulis.pyModulis yra objektas ir jam galioja visos objekto savybes.
![Page 203: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/203.jpg)
import sakinys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
181 / 278
Galima naudotis bet kuriuo failu kaip moduliu ivykdžius sakini import
import modul io_pavad in imas [ as k i n t ama s i s ] [ , . . . ]
![Page 204: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/204.jpg)
Pavyzdžiai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
182 / 278
import Mano_modulis
import Mano_modulis as Mano
![Page 205: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/205.jpg)
Modulio "vidus"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
183 / 278
Nera jokios specialios sintakses.
![Page 206: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/206.jpg)
Modulio "vidus"
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
183 / 278
Nera jokios specialios sintakses.Modulis ivykdomas pirmą kartą ji importuojant.
![Page 207: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/207.jpg)
Modulio elementai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
184 / 278
Importuojant moduli yra sukuriama visu importuojamo modulioelementu vardu aibe.
import Mano_modulis a = Mano_modulis . f ( )import Mano_modulis as Mano a = Mano . f ( )
Pastaba. Nors galima susieti visus modulio elementus sukintamaisiais, bet geriau to nedaryti.
![Page 208: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/208.jpg)
Dokumentacija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
185 / 278
Jei pirmasis sakinys modulyje yra simboliu eilute, tuomet ji laikomadokumetacine eilute.
![Page 209: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/209.jpg)
Privatus kintamieji
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
186 / 278
Jei identifikatorius pradedamas pabraukimo brukšniu "_", tuomettoks identifikatorius laikomas privačiu ir tiesiogiai neprieinamas.
![Page 210: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/210.jpg)
from sakinys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
187 / 278
Šis sakinys leidžia importuoti konkrečius elementus iš modulio:
from modu l i s import e l emen ta s [ as k i n t ama s i s ] [ , . . . ]from modu l i s import ∗
![Page 211: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/211.jpg)
Svarbu žinoti
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
188 / 278
■ Galima importuoti tiek vieną elementą, tiek kelis. Pastaruojuatveju elementai išvardinami skliausteliuose.
■ "*" nurodo, kad visi modulio elementai butu paskelbti globaliais(rekomenduojama nenaudoti).
■ Išskyrus kelis atvejus, kuomet geriau naudoti from,rekomenduojama naudoti import.
![Page 212: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/212.jpg)
Modulio ikrovimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
189 / 278
■ Remiasi itaisytuoju moduliu sys■ Ikraunant moduli yra patikrinamas žodynas sys.modules■ Nesant modulio žodyne, atliekama paieška
![Page 213: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/213.jpg)
Itaisytieji moduliai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
190 / 278
■ Kortežas sys.builtin_module_names■ Kortežo persiejimas neitakoja modulio ikrovimo■ Priklauso nuo platformos
![Page 214: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/214.jpg)
Modulio paieška failu sistemoje
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
191 / 278
■ Ieškoma failo, naudojantis sys.path sąrašu■ Jei randamas failas su pletiniu .pth PYTHONHOME kataloge, jo
turinys idedamas i sys.path■ Ieškomi failai:
1. .pyd ir .dll arba .so2. .py3. .pyc arba .pyo – baitinis kodas
■ Vykdomas visada baitinis kodas
![Page 215: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/215.jpg)
Pagrindine programa
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
192 / 278
■ Taikomoji programa visada prasideda aukščiausio lygioscenarijumi – pagrindine programa
■ Pagrindines programos pavadinimas yra __main__ tiekglobalaus kintamojo __name__, tiek sys.modules atvejais
![Page 216: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/216.jpg)
Funkcija reload
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
193 / 278
■ Python’as ikelia moduli tik vieną kartą – importavimo metu■ Norint perkrauti moduli naudojama funkcija imp.reload(objektas)■ Ką čia veikia objektas?
![Page 217: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/217.jpg)
Funkcija reload
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
193 / 278
■ Python’as ikelia moduli tik vieną kartą – importavimo metu■ Norint perkrauti moduli naudojama funkcija imp.reload(objektas)■ Ką čia veikia objektas?Perkraunamas yra modulio objektas, o ne
pats modulis■ Funkcija nera rekursyvi
![Page 218: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/218.jpg)
Ciklinis ikelimas (circular import)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
194 / 278
Python’as leidžia du modulius ikelti vienas i kitą. Pavyzdžiui, modulisa.py naudoja import b, o b.py naudoja import a.
![Page 219: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/219.jpg)
Ciklinis ikelimas (circular import)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
194 / 278
Python’as leidžia du modulius ikelti vienas i kitą. Pavyzdžiui, modulisa.py naudoja import b, o b.py naudoja import a.Bet praktikoje rekomenduojama to vengti.
![Page 220: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/220.jpg)
sys.modules irašai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
195 / 278
Itaisytoji funkcija __import__ visada susaisto modulio objektą kaipirašą ir grąžina irašo reikšmę nepriklausomai nuo jo tipo.
c l a s s TT( ob j e c t ) :def _ _getattr_ _( s e l f , name ) : return 23
import s y ss y s . modules [_ _name_ _] = TT( )
Ikelus ši kodą kaip moduli, gaunamas modulio objektas, kuris taip patyra klases TT egzempliorius (objektas).
![Page 221: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/221.jpg)
Paketai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
196 / 278
Paketas – modulis, sudarytas iš kitu moduliu, patalpintu kataloge.
![Page 222: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/222.jpg)
Paketo savybes
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
197 / 278
■ Paketas gali buti sudarytas iš moduliu ir/ar kitu vidiniu paketu(gali buti zip failai)
■ Paketo P modulio kodas saugomas faile P/__init__.py, kurisgali buti ir tuščias
■ Paketą P sudarantys .py failai yra paketo moduliai
![Page 223: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/223.jpg)
Modulio ikelimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
198 / 278
■ Jei __init__.py faile apibrežtos klases, funkcijos ir t.t., jostampa pasiekiamos iš karto
■ Vidiniai moduliai nera ikeliami■ Modulis M ikeliamas komanda import P.M arba from P import M
■ Modulis M pakete P gali ikelti bet kuri paketo P moduli Xtiesiogiai
![Page 224: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/224.jpg)
Absoliutus ir santykinis ikelimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
199 / 278
import X reiškia absoliutu kelią, kai ikeliamas modulis.from . import X reiškia santykini kelią, kai ikeliamas modulis(patartina riboti jo naudojimą).
![Page 225: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/225.jpg)
Failai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
200 / 278
![Page 226: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/226.jpg)
Kas yra failas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
201 / 278
Failas – baitu srautas, kuri programa gali skaityti ir/ar rašyti.
![Page 227: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/227.jpg)
tipas file
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
202 / 278
Tipas file yra itaisytasis Python’o tipas ir dažniausiai naudojamasduomenu skaitymui ir rašymui.
![Page 228: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/228.jpg)
Failo sukurimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
203 / 278
Failas sukuriamas su itaisytąja funkcija open
open ( f a i l o_pavad i n ima s , mode=’ r ’ , b u f s i z e=−1)
![Page 229: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/229.jpg)
Failo veiksena (angl. mode)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
204 / 278
■ r – egzistuojantis failas atidaromas tik skaitymui■ w – failas atidaromas tik rašymui ir yra ištrinamas arba
sukuriamas■ a – failas atidaromas rašymui išsaugant turini, o naujas turinys
pridedamas prie pabaigos■ r+ – egzistuojantis failas atidaromas ir skaitymui, ir rašymui■ w+ – failas atidaromas ir skaitymui, ir rašymui, ir yra ištrinamas
arba sukuriamas■ a+ – failas atidaromas ir rašymui, ir skaitymui išsaugant turini, o
naujas turinys pridedamas prie pabaigos.
■ *t – failas skaitomas tekstiniu režimu (pagal nutylejimą, jeinepažymeta)
■ *b – failas skaitomas dvejetainiu režimu (nera skirtumo Unixsistemose)
■ *U – universalus režimas
![Page 230: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/230.jpg)
Apie eilučiu pabaigas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
205 / 278
Kadangi skirtingose OS naudojami skirtingi eilučiu pabaigos simboliai,rekomenduojama naudoti os.linesep arbanUniversalus režimas leidžia atsiriboti nuo OS eilutes pabaigossimbolio.
![Page 231: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/231.jpg)
Buferis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
206 / 278
Jei buffsize mažiau už 0, tuomet naudojamas sistemos numatytasis.Jei 0 – buferis nenaudojamasJei 1 – naudojamas eilutes ilgio buferis (išvalomas kiekvieną kartąrašantnJei daugiau už 1, tuomet naudojamas maždaug nurodyto baitu dydžiobuferis (vyksta suapvalinimas)
![Page 232: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/232.jpg)
Nuoseklioji ir nenuoseklioji prieiga
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
207 / 278
Paprastai failas tiek skaitomas, tiek rašomas nuosekliai.Norint tą atlikti nenuosekliai, naudojamos funkcijos f.tell (nurododabartinę poziciją) ir f.seek (pakeičia i nurodytą poziciją)
![Page 233: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/233.jpg)
Atributai ir metodai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
208 / 278
f.close() Užaro failąf.closed true jei buvo uždarytasf.encoding None, jei naudojama numatytoji koduote,
kitu atveju, koduotes aprašymasf.flush Reikalauja, kad buferis butu perduotas OSf.isatty() true, jei atvertas interaktyvus terminalasf.fileno() Sveikasis skaičius, aprašantis failą OS ly-
gyjef.mode Grąžina veiksenos reikšmęf.name Grąžina failo pavadinimąf.newlines Nurodo tekstiniu failu, atidarytu univer-
saliu režimu, eilučiu pabaigos simboliusf.read(size=-1) Nuskaito iki size baitu iš failo ir grąžina
juos kaip simboliu eilutes
![Page 234: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/234.jpg)
Atributai ir metodai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
209 / 278
f.readline(size=-1) Skaito eilutes, jei nurodytas dydis, tuometapsiribojama nurodytu baitu skaičiumi
f.readlines(size=-1) Nuskaito eilučiu sąrašą ir grąžina maždaugsize baitu dydžio
f.seek(pos, how=0) Nustato failo rodykles dabartinę pozi-ciją. pos nurodo per kiek baitu reikia jąpaslinkti. how urodo nuo kur – 0 - failopradžia, 1 - dabartine pozicija, 2 - failopabaiga
f.softplace Naudojamas print funkcijosf.tell() Grąžina dabartinę failo rodykles poziciją
kaip sveikąji skaičiuf.truncate([size]) Sutrumpina failą iki size baitu dydžio. Ki-
tau atveju naudojamas f.tell()f.write(s) Irašo simboliu eilutę s i failąf.writelines(lst) Irašo visas simboliu eilutes i failą
![Page 235: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/235.jpg)
Iteravimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
210 / 278
Atvertas tekstiniame režime, failo objektas f kartu yra ir iteratorius,kurio elementai yra eilutes:
>>> fo r e i l u t e in f :
Del buferizavimo subtilybiu pertraukti toki ciklą nerekomenduojama,nes failo rodykles pozicija tampa neapibrežta. Vis delto, esant tokiamatvejui, tereikia nustatyti failo rodyklę "rankiniu" budu.
![Page 236: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/236.jpg)
tempfile modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
211 / 278
Šis modulis leidžia sukurti laikinus failus ir katalogus saugiausiuimanomu budu, priklausančiu nuo OS. Tam naudojami tokie metodai:mkstemp, mkdtemp, TemporaryFile, NamedTemporaryFile.
![Page 237: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/237.jpg)
Kiti naudingi moduliai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
212 / 278
■ fileinput – leidžia dirbti su visomis eilutemis failu sąraše■ linecache – suteikia galimybę dirbti su podeliu (angl. cache)■ struct – leidžia supakuoti dvejetainius duomenis i simboliu eilutę
ir atvirkščiai
![Page 238: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/238.jpg)
Archyvai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
213 / 278
Moduliai:
■ gzip – palaiko itin efektyvu gzip formatą. Pletinys .gz■ bz2 – suteikia galimybę suspausti duomenis ir operatyvioje
atmintyje■ tarfile – suteikia galimybę dirbti su .tar archyvais■ zipfile – sueikia galimybę dirbti su .zip archyvaist■ zlib – nemokama biblioteka, kurią naudoja kai kurie kiti moduliai
![Page 239: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/239.jpg)
Operacijos su failu sistema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
214 / 278
Naudojantis os moduliu galima manipuliuoti failu sistema ivairiaisbudais:
■ sukurti■ kopijuoti■ ištrinti■ palyginti■ sužinoti informaciją
![Page 240: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/240.jpg)
Esminiai dalykai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
215 / 278
■ os.path modulis – kelio požymiu rinkinys, ju keitimas■ teises – prieigos prie failo teises (777)■ failu ir katalogu funkcijos■ os.stat modulis – informacija apie failą■ filecmp modulis – palygina failus ir katalogus■ shutil modulis – failu kopijavimas ir perkelimas■ failu aprašu valdymas – darbas su failu identifikatoriais
![Page 241: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/241.jpg)
Teksto ivedimas ir išvedimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
216 / 278
sys modulis suteikia galimybę dirbti su "terminalu":
■ sys.stdout – rezultato išvedimas■ sys.stderr – klaidos išvedimas■ print – sys.stdout.write alternatyva■ sys.stdin – reikšmes ivedimas■ raw_input – eilutes ivedimas■ getpass – slaptos informacijos ivedimas
![Page 242: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/242.jpg)
Naudingi moduliai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
217 / 278
Suteikia lankstesnes ivedimo/išvedimo galimybes:
■ readline – ivedimas■ curses – ivedimas/išvedimas■ cmd – interaktyvios komandos■ msvcrt – specialios Windows galimybes■ WConio – specialios Windows galimybes■ Console – specialios Windows galimybes
![Page 243: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/243.jpg)
Internacionalizavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
218 / 278
Programines irangos pritaikymas ivairioms kalboms ir kulturoms.
■ locale – kulturiniai elementai, pavyzdžiui, data■ gettext – kalbiniai elementai, pavyzdžiui, pasisveikinimas
![Page 244: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/244.jpg)
Internetiniai puslapiai (trumpai)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
219 / 278
Su Python’u galima sekmingai kurti internetines svetaines. Tam reikiažinoti kelis pagrindinius dalykus:
■ Reikalingas webserveris (pavyzdžiui, Apache HTTPd)■ Python’o kodas■ Tiltas tarp webserverio ir kodo (pavyzdžiui, mod_python,
FastCGI, SCGI, mod_wsgi)
![Page 245: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/245.jpg)
HTML ir XML
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
220 / 278
Nuskaityti tokius failus yra labai paprasta.
>>> import u r l l i b>>> f a i l a s = u r l l i b . u r l o p en ( " h t tp : // python . org /" )>>> html = f a i l a s . r ead ( )>>> f a i l a s . c l o s e ( )>>> pr in t html
![Page 246: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/246.jpg)
HTML ir XML
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
220 / 278
Nuskaityti tokius failus yra labai paprasta.
>>> import u r l l i b>>> f a i l a s = u r l l i b . u r l o p en ( " h t tp : // python . org /" )>>> html = f a i l a s . r ead ( )>>> f a i l a s . c l o s e ( )>>> pr in t html
O kaip su ju apdorojimu?
![Page 247: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/247.jpg)
HTML ir XML apdorojimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
221 / 278
Labai nesigilinant i detales – norint apdoroti tokius failus reikalingasanalizatorius (angl. parser).Analizatorius suskaido failą i logines dalis – gaires, gairiu atributus,gairiu turini, kuriomis galima lengvai manipuliuoti, per daugnesigilinant i strukturą dokumento.
■ html.parser – HTML analizatorius■ xml.dom – XML analizatorius■ xml.dom.minidom – paprastesnis XML analizatorius
![Page 248: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/248.jpg)
Išimčiu valdymas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
222 / 278
![Page 249: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/249.jpg)
Kas yra išimtis?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
223 / 278
Išimtis – tai objektas, rodantis klaidą arba anomalią sąlygą.
![Page 250: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/250.jpg)
Veikimo mechanizmas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
224 / 278
Klaidos aptikimas -> jos iškelimas -> Išimties objekto perdavimas iišimčiu perdavimo mechanizmui.Išimti galima generuoti išreikštiniu budu su raise sakiniu.Išimties apdorojimas (angl. exception handling) reiškia išimtiesobjekto gavimą iš perdavimo mechanizmo ir atliekant atitinkamusveiksmus. Jei veiksmai neatliekami – programa baigia darbą suklaidos pranešimu.
![Page 251: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/251.jpg)
Dar šis tas...
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
225 / 278
Python’as taip pat naudoja išimtis specialiems atvejams, kurie neraklaidos ir netgi nera nenormalus. Pavyzdžiui, iteratoriaus metodasnext grąžina išimti StopIteration, kai nebera daugiau elementu.
![Page 252: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/252.jpg)
Sakinys try
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
226 / 278
>>> def d i v i d e ( x , y ) :>>> t ry :>>> r e z u l t a t a s = x / y>>> except Ze r oD i v i s i o n E r r o r as zde :>>> pr in t " da l yba ␣ i s ␣ n u l i o ! ">>> except E r r o r as e :>>> pr in t "nezinoma␣ k l a i d a ">>> e l s e :>>> pr in t " r e z u l t a t a s ␣ y ra ␣" , r e z u l t a t a s>>> f i n a l l y :>>> pr in t " paba iga "
![Page 253: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/253.jpg)
Sakinys with
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
227 / 278
Sakinys with apgaubia vykdomą bloką ir iš esmes atlieka tą pati, kaipir sakinys try
>>> with i s r a i s k a [ as k in tamojo_vardas ]>>> s a k i n i a i
tai maždaug ekvivalentu
>>> va r = i s r a i s k a>>> va r . __enter__ ()>>> t ry :>>> s a k i n i a i>>> f i n a l l y :>>> va r . __exit__()
![Page 254: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/254.jpg)
Generatoriu išpletimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
228 / 278
■ throw – metodas, kuris veikia taip pat kaip raise■ yield – galima naudoti išimčiu valdyme
![Page 255: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/255.jpg)
Išimčiu generavimas sakiniu rise
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
229 / 278
Rašant metodus, galima naudoti jau esamas klaidas arba apsirašytinaujas klaidu klases:
>>> def mano( x ) :>>> i f x < 0 :>>> r a i s e Va l u eE r r o r ( " S k a i c i u s ␣ t u r i ␣ b u t i ␣ t e i g>>> return x
Raktažodis from formuoja klaidu sąsają (grandinę):
>>> . . .>>> except Excep t i on as exc :>>> r a i s e Runt imeEr ro r ( "Something␣bad␣happened " )>>> . . .
![Page 256: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/256.jpg)
Išimčiu objektai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
230 / 278
■ Visos išimtys yra klases Exception poklasiai■ Paveldejimo struktura yra svarbi ir nusako kuris išimties atvejis
except apdoros išimti■ Galima sukurti savo išimties klasę, kuri yra poklasis standartinems
išimtims
![Page 257: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/257.jpg)
Išimčiu hierarchija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
231 / 278
■ Exception■ SystemExit■ StandardError■ AssertionError, AttributeError, ImportError, KeyboardInterrupt,
MemoryError, NotImplementedError, SystemError, TypeError,UnicodeError, ValueError NameError
■ UnboundLocalError■ SyntaxError■ IndentationError■ ArithmeticError■ FloatingPointError, OverflowError, ZeroDivisionError■ LookupError■ IndexError, KeyError■ EnvironmentError■ IOError■ OSError■ WindowsError■ StopIteration■ Warning
![Page 258: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/258.jpg)
Klaidu tikrinimo strategijos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
232 / 278
■ EAFP (lengviau gauti atleidimą nei leidimą) prieš LBYL (patikrinkprieš šokant)
■ try/except■ Registruoti žurnale (angl. log), logging paketas■ Sakinys assert – leidžia itraukti klaidos taisymo kodą i programą
◆ assert išraiška[, išraiška]
![Page 259: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/259.jpg)
Testavimas, derinimas, optimizavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
233 / 278
![Page 260: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/260.jpg)
Kas yra kas?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
234 / 278
■ Testavimas (angl. testing) – kodas veikia teisingai esantžinomoms sąlygoms (teisingas rezultatas)
■ Derinimas (angl. debugging) – neteisingo veikimo suradimas irtaisymas
■ Optimizavimas (angl. optimizing) – priimtinas veikimo laikas
◆ Našumo testas (angl. benchmarking) – tikrinama ar našumas(angl. performance) yra priimtinas
◆ Apibudinimas (angl. profiling) – nustatomos programossilpnosios vietos (angl. bottleneck)
◆ Tinkamas optimizavimas – pašalinamos silpnosios vietos
![Page 261: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/261.jpg)
Testavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
235 / 278
■ Modulio (ang. unit) – testuojamas modulis, klase ar funkcija■ Sisteminis (angl. system) – visos sistemos testavimas
![Page 262: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/262.jpg)
Modulio testavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
236 / 278
■ baltosios ir juodosios dežes testavimas■ testais gristas programavimas – pirma testas, po to kodas
![Page 263: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/263.jpg)
Sisteminis testavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
237 / 278
■ Daugiapakopiu moduliu testavimas naudojantis pakaitalais (angl.stub)
■ Problemu nustatymas■ Sisteminio testavimo problemos■ Karkasai (angl. framework)
![Page 264: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/264.jpg)
Pakaitalas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
238 / 278
■ Kodas naudojamas vietoj kito programinio funkcionalumo■ Gali simuliuoti egzistuojanti kodą (pvz., funkciją ar nuotolinę
procedurą)■ Gali buti laikinas pakaitalas dar tik kuriamo kodo
![Page 265: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/265.jpg)
Kaip užrašyti pakaitalus?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
239 / 278
■ Galima naudoti tik deklaracijas:
def f ( x ) :r a i s e Not Imp lementedEr ro r
■ Galima naudoti specialią sintaksę:
x : i n tdef func_1 ( code : s t r ) −> i n t : . . .def func_2 ( a : i n t , b : i n t = . . . ) −> i n t : . . .
![Page 266: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/266.jpg)
doctest modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
240 / 278
Dokumentacijos eiluteje suranda kodo pavyzdžius ir juos ivykdo
![Page 267: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/267.jpg)
Pavyzdys (1)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
241 / 278
"""Funk c i j a ␣ s u r a s o ␣ t e k s t o ␣ z od z i u s ␣ a t v i r k s c i a i>>>␣ a t v i r k s c i a i ( ’ mes␣ einame␣namo ’ )’ namo␣ einame␣mes ’>>>␣ a t v i r k s c i a i ( ␣ )Traceback␣ (most␣ r e c e n t ␣ c a l l ␣ l a s t ) :␣␣␣ . . .TypeError : ␣ r eve r s eWords ( ␣ ) ␣ t a k e s ␣ e x a c t l y ␣1␣argument ␣"""
![Page 268: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/268.jpg)
Pavyzdys (2)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
242 / 278
def a t v i r k s c i a i ( e i l u t e ) :z o d z i a i = e i l u t e . s p l i t ( )z o d z i a i . r e v e r s e ( )return ’ ␣ ’ . j o i n ( z o d z i a i )
i f __name__==’__main__ ’ :import doc t e s t , s y sd o c t e s t . testmod ( s y s . modules [__name__] )
![Page 269: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/269.jpg)
Pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
243 / 278
■ Pavyzdžiu skaičius■ Testo vykdymas – python3 programa.py■ Vykdymo statistika – python3 programa.py -v
![Page 270: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/270.jpg)
unittest modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
244 / 278
Skirtas detalesniam kodo patikrinimui
![Page 271: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/271.jpg)
Pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
245 / 278
■ Testas rašomas atskirame faile, pavyzdžiui, test_programa.py■ Testavimo modulis perrašo TestCase klases vieną ar kelis
poklasius■ Kiekvienas poklasis apibudina vieną ar daugiau testavimo atveju
apibreždamas metodus■ Metodai neturi parametru ir prasideda priešdeliu test
![Page 272: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/272.jpg)
Pavyzdys (1)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
246 / 278
"""␣ S i s ␣modu l i s ␣ p a t i k r i n a ␣ f u n k c i j a ␣ a t v i r k s c i a imodu ly j e ␣ programa . py . ␣"""import u n i t t e s t import programa
c l a s s ModTest ( u n i t t e s t . TestCase ) :
def te s tNorma lCase ( s e l f ) :s e l f . a s s e r t E q u a l ( programa . r eve r s eWords (
’mes␣ einame␣namo ’ ) , ’ namo␣ einame␣mes ’ )def t e s tS i ng l eWord ( s e l f ) :
s e l f . a s s e r t E q u a l ( programa . r eve r s eWords (’ v i e n a s_zod i s ’ ) , ’ v i e n a s_zod i s ’ )
def testEmpty ( s e l f ) :s e l f . a s s e r t E q u a l ( programa . r eve r s eWords (
’ ’ ) , ’ ’ )
![Page 273: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/273.jpg)
Pavyzdys (2)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
247 / 278
def t e s tUn i c od e ( s e l f ) :s e l f . a s s e r t E q u a l ( programa . r eve r s eWords (
u ’ su ␣ un i codu ␣ t a i p ␣ pat ␣ v i s k a s ␣ g e r a i ’ ) ,u ’ g e r a i ␣ v i s k a s ␣ pat ␣ t a i p ␣ un ikodu ␣ su ’ )
def te s tExact l yOneArgument ( s e l f ) :s e l f . a s s e r t R a i s e s ( TypeError ,
programa . r eve r s eWords )s e l f . a s s e r t R a i s e s ( TypeError ,
programa . reve r seWords , ’ one ’ , ’ ano the r ’ )def t e s tMus tBeS t r i n g ( s e l f ) :
s e l f . a s s e r t R a i s e s ( ( A t t r i b u t eE r r o r ,TypeError ) , programa . reve r seWords , 1)
i f _ _name_ _= =’_␣_main_␣_’ :u n i t t e s t . main ( )
![Page 274: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/274.jpg)
Keletas dažniausiai naudojamu metodu
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
248 / 278
■ assert_(condition, msg=None) – klaidos atveju gaunamepranešimą
■ assertAlmostEqual(first, second, places=7, msg=None) –pranešimas, jei first != second iki places pozicijos po kablelio
■ assertEqual(first, second, msg=None) – pranešimas, jei first !=second
■ assertNotAlmostEqual(...), assertNotEqual(...)■ assertRaises(exceptionSpec, callable, *args, **kwargs) –
kviečiamas metodas callable(*args, **kwargs), klaida, jeinegaunamas klaidos pranešimas
■ fail(msg=None) – klaida bet kuriuo atveju■ failIf(condition, msg=None) – jei condition teisinga, gauname
klaidos pranešimą■ setUp() – kviečiamas prieš testavimo metodą, nieko nedaro, kol
neperrašytas■ tearDown() – kviečiamas po testavimo metodo, nieko nedaro, kol
neperrašytas
![Page 275: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/275.jpg)
Derinimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
249 / 278
Atitinkamos informacijos pateikimas atraminiuose taškuose (angl. keypoints).
■ inspect ir traceback moduliai■ logging modulis – derinimo rezultatu išvedimas i tekstinius failus■ pdb modulis – paprasta tekstinio režimo derintuve
![Page 276: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/276.jpg)
inspect modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
250 / 278
Suteikia galimybę gauti informaciją iš bet kurio tipo objektu
![Page 277: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/277.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
251 / 278
Tarkime, kad programos kode turime sakini x.f() (čia x turetu butimodulis arba klase) ir gauname klaidą AttributeError (x yra ne tai kotikejomes)
t ry : x . f ( )except A t t r i b u t e E r r o r :
import i n s p e c tfo r n , v in i n s p e c t . getmembers ( x , c a l l a b l e ) :
pr in t ( n , v )r a i s e
![Page 278: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/278.jpg)
traceback modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
252 / 278
Suteikia galimybę gauti, formatuoti ir pateikti informaciją iš kreipiniudeklo (angl. call stack)
t ry :pr in t (5/0)
except :import t r a c eba ckt r a c eba ck . p r i n t_exc ( )
![Page 279: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/279.jpg)
pdb modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
253 / 278
■ Paprastas interaktyvus derintojas, orientuotas i komandinę eilutę.Išnaudoja Python’o derinimo ir kreipiniu savybes.
def f ( x ) :x+=1pr in t ( x )
import pdbpdb . run ( ’ f ( 5 ) ’ )> <s t r i n g >(1)<module >()(Pdb ) n6−−Return−−
![Page 280: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/280.jpg)
warnings modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
254 / 278
Skirtas valdyti pranešimams, kurie nera kritines klaidos,nutraukiančios programos vykdymą:
■ DeprecationWarning – naudojamos uždraustos savybes (angl.features)
■ RuntimeWarning – naudojamos savybes, kuriu semantikojegalimos klaidos
■ SyntaxWarning – naudojamos savybes, kuriu sintakseje galimosklaidos
■ UserWarning – naudotojo apibrežti perspejimai
![Page 281: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/281.jpg)
Optimizavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
255 / 278
"Iš pradžiu priversk veikti. Tuomet padaryk teisingai. Ir pagaliau –greita."
![Page 282: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/282.jpg)
Patarimai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
256 / 278
■ Projektavimas (angl. design)■ Kodo rašymas ir testavimas■ Pletiniu moduliu naudojimas■ Našumo testavimas (angl. benchmarking)
![Page 283: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/283.jpg)
Našumo testavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
257 / 278
■ Ieškokit 20% kodo, kuris užima 80% viso laiko■ Nevarkite del 10% pagerejimo – praktiškai toks pagerejimas
nejuntamas■ Svarbu ištirti, kaip veikia operacijos■ Dažnai pakanka rankinio laikrodžio, bet galima naudoti ir timeit
moduli■ Didele optimizacija (angl. large-scale optimization)
![Page 284: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/284.jpg)
Didele optimizacija
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
258 / 278
Algoritmo sudetingumo samprata.
![Page 285: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/285.jpg)
Pavyzdys
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
259 / 278
def s l ow ( i t ) :r e z u l t a t a s = [ ]fo r i tem in i t :
r e z u l t a t a s . i n s e r t (0 , i tem )return r e z u l t a t a s
def f a s t ( i t ) :r e z u l t a t a s = [ ]fo r i tem in i t :
r e z u l t a t a s . append ( i tem )r e z u l t a t a s . r e v e r s e ( )return r e z u l t a t a s
![Page 286: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/286.jpg)
Pastaba
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
260 / 278
Python’o tipai ir funkcijos yra optimizuoti ir naudoja geriausius šiuometu žinomus algoritmus efektyvumui pasiekti
![Page 287: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/287.jpg)
Profiliuotojai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
261 / 278
Patikekite blogo kodo paieškas atitinkamiems moduliams, kurieaprašo programos vykdymo laiką.
■ profile arba cProfile■ pstats■ hotshot
![Page 288: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/288.jpg)
profile modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
262 / 278
Modulis atsakingas už kodo analizę. Pagrindinis naudojamas metodasyra run(code, filename=None)
import c P r o f i l ec P r o f i l e . run ( ’ f ( 5 ) ’ )
![Page 289: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/289.jpg)
pstats ir hotshot moduliai
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
263 / 278
Moduliai atsakingi už analizę, apibendrinimą ir ataskaitas
import hotshot , ho t sho t . s t a t s , t e s t . py s tonep r o f = hot sho t . P r o f i l e ( " s t on e s . p r o f " )bencht ime , s t on e s = p r o f . r u n c a l l ( t e s t . py s tone . p y s t onp r o f . c l o s e ( )s t a t s = hot sho t . s t a t s . l o ad ( " s t on e s . p r o f " )s t a t s . s t r i p _ d i r s ( )s t a t s . s o r t_ s t a t s ( ’ t ime ’ , ’ c a l l s ’ )s t a t s . p r i n t_ s t a t s (20)
850004 f u n c t i o n c a l l s in 10.090 CPU seconds
Ordered by : i n t e r n a l t ime , c a l l count
![Page 290: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/290.jpg)
Rezultatas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
264 / 278
ncalls tottime percall cumtime percall filename:lineno(function)1 3.295 3.295 10.090 10.090 pystone.py:79(Proc0)
150000 1.315 0.000 1.315 0.000 pystone.py:203(Proc7)50000 1.313 0.000 1.463 0.000 pystone.py:229(Func2)
![Page 291: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/291.jpg)
Mažos optimizacijos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
265 / 278
Sritis, kur gali pasireikšti programuotojo žinios ir patirtis.
![Page 292: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/292.jpg)
timeit modulis
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
266 / 278
Patogu matuoti kodo efektyvumą: python3 -m timeit -s ’pradiniainustatymai’ ’vykdomas kodas’
$python3 −m t im e i t −s ’ x=0 ’ ’ x=x+1 ’10000000 loops , b e s t o f 3 : 0 .0847 usec pe r l oop$python3 −m t im e i t −s ’ x=0 ’ ’ x+=1 ’10000000 loops , b e s t o f 3 : 0 .0844 usec pe r l oop
![Page 293: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/293.jpg)
Simboliu eilučiu konstravimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
267 / 278
Simboliu eilutes yra nekintančios. Todel deretu vengti tokio kodo –eilute += tekstas
![Page 294: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/294.jpg)
Simboliu eilučiu konstravimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
267 / 278
Simboliu eilutes yra nekintančios. Todel deretu vengti tokio kodo –eilute += tekstaseilute = ”.join(laikinas_sarasas)
![Page 295: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/295.jpg)
Paieška ir rušiavimas
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
268 / 278
Operatorius in yra itin optimizuotas aibems ir žodynamsVisada naudokite sort funkciją
![Page 296: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/296.jpg)
Kitos pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
269 / 278
■ Venkite exec ir from ... import *
![Page 297: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/297.jpg)
Kitos pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
269 / 278
■ Venkite exec ir from ... import *■ Jei imanoma, optimizuokite ciklus
![Page 298: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/298.jpg)
Kitos pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
269 / 278
■ Venkite exec ir from ... import *■ Jei imanoma, optimizuokite ciklus■ Lokalus kintamieji yra "greitesni" už globalius
![Page 299: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/299.jpg)
Kitos pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
269 / 278
■ Venkite exec ir from ... import *■ Jei imanoma, optimizuokite ciklus■ Lokalus kintamieji yra "greitesni" už globalius■ Failu skaitymo/rašymo optimizavimas
![Page 300: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/300.jpg)
Kitos pastabos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
269 / 278
■ Venkite exec ir from ... import *■ Jei imanoma, optimizuokite ciklus■ Lokalus kintamieji yra "greitesni" už globalius■ Failu skaitymo/rašymo optimizavimas■ Mokykites, mokykites ir dar kartą mokykites :)
![Page 301: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/301.jpg)
Duomenu vaizdavimas atmintyje
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
270 / 278
![Page 302: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/302.jpg)
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
271 / 278
"Koks skirtumas tarp megejo ir profesionalaus programuotojo?Megejas mano, kad 1 kilobaitas yra 1000 baitu. Profesionalas – kad 1kilometras yra 1024 metrai".
![Page 303: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/303.jpg)
Kaip matuojami duomenys?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
272 / 278
■ bitas – mažiausias informacijos vienetas (0, 1)■ baitas – pagrindinis matavimo vienetas, 8 bitai■ kilobaitas – 1024 baitai■ megabaitas – 1024 kilobaitai■ ...
![Page 304: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/304.jpg)
Dvejetaine pozicine skaičiavimo sistema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
273 / 278
Vienetai, dešimtys, šimtai...?!
![Page 305: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/305.jpg)
Dvejetaine pozicine skaičiavimo sistema
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
273 / 278
Vienetai, dešimtys, šimtai...?!27 + 26 + 25 + 24 + 23 + 22 + 21 + 20
111111112 = 25610
![Page 306: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/306.jpg)
Aštuntaine ir šešioliktaine skaičiavimo sistemos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
274 / 278
Ką jos čia veikia?
![Page 307: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/307.jpg)
Aštuntaine ir šešioliktaine skaičiavimo sistemos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
274 / 278
Ką jos čia veikia?111 = 8
![Page 308: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/308.jpg)
Aštuntaine ir šešioliktaine skaičiavimo sistemos
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
274 / 278
Ką jos čia veikia?111 = 81111 = F?!
![Page 309: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/309.jpg)
O kur neigiami skaičiai?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
275 / 278
Pirmasis skaitmuo nurodo ženklą!
![Page 310: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/310.jpg)
O kur neigiami skaičiai?
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
275 / 278
Pirmasis skaitmuo nurodo ženklą!
1. Dvejetaine išraiška2. Inversija3. Pridedam 1
![Page 311: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/311.jpg)
ASCII koduote
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
276 / 278
128 simboliai – tai daug ar mažai?65 = A66 = Bir t.t.
![Page 312: Informatika I - Vilniaus universitetastomukas/Knygos/ruduo.pdf · 2019-10-24 · ˛Ivadas I˛vadas Pirmasis skyrius Antrasis skyrius Trečiasis skyrius Ketvirtasis skyrius Penktasis](https://reader030.vdocuments.pub/reader030/viewer/2022040812/5e569381609f1332e932b212/html5/thumbnails/312.jpg)
UNICODE
Ivadas
Pirmasis skyrius
Antrasis skyrius
Trečiasis skyrius
Ketvirtasis skyrius
Penktasis skyrius
Šeštasis skyrius
Septintasis skyrius
Aštuntasis skyrius
Devintasis skyrius
Dešimtasis skyrius
Vienuoliktas skyrius
Dvyliktas skyrius
Tryliktas skyrius
Keturioliktas skyrius
Penkioliktas skyrius
277 / 278
U+0000Naudojami 16-niai skaitmenys.Pirmosios 3 pozicijos nurodo eilutę, paskutinioji – stulpeli.