Nuo šios pamokos pavyzdžiai ir kodo įvedimo laukeliai turės mygtukus „Programavimo konsolė“ ir „Veiksmų sekimas“. Naudokite juos kodo nagrinėjimui.
"Hello, World!" uždavinyje mes išmokome, kad Python gali pakartoti įvestą tekstą. Mes taip pat išmokome atlikti keletą veiksmų su skaičiais. Skaičiai ir tekstas yra skirtingo tipo duomenys - skiriasi jų saugojimas kompiuterio atmintyje ir veiksmai, kuriuos galima su jais atlikti.
Kaip matote, gauname klaidos pranešimą, kad funkcijai max pateikti argumentai yra skirtingo tipo - neaišku, pagal ką juos lyginti.
"Hello, World!"yra teksto eilutė (angl. (text) string). Ji Python’e žymimastr. Tai yra simbolių ar skyrybos ženklų eilė (daugiau žr. 7A pamokoje).35yra sveikasis skaičius (angl. integer), žymimas -int. Pavyzdžiui, 42, -12, and 0 yra „int“ tipo.
Ar galėtumėte paaiškinti, kuo skiriasi “42” ir 42?
Netinkamo tipo duomenų naudojimas yra dažnai pasitaikinti programavimo klaida. Įsivaizduokite, jog bandote gerti obuolį: to negalite padaryti, kadangi gerti galima tik skysčius.
Duomenų tipą galite sužinoti iškviesdami type funkciją.
(Žodžio class reikšmė panaši kaip „tipas“ - nurodo duomenų pavadinimą bendroje klasifikacijoje.) Pavyzdyje matome, kad skaičiai yra toliau kategorizuojami į tipus: int ir float, kuris naudojamas skaičiams su reikšme po kablelio saugoti - tuomet reikšmės atminty saugomos kiek kitaip - būna apytikslės (daugiau žr. pamokoje 7B). Jei skaičiavime bus ir float, ir int tipų reikšmės, rezultatas bus float tipo, žr. pvz.
Kai Python gauna veiksmą su int ir float, jis paverčia visus int į float ir tada atlieka veiksmus.
1.2 į 1.5, ką atspausdins pirma eilutė?z buvo atspausdintas 3.0 (o ne 3).
- Skaičiuojant
x * ykartu naudojamiintirfloattipai, todėl Pythonas int paverčia įfloat, ir grąžinazreikšmę su kableliu.
float reikšmę, būtinai spausdinamas ir kablelis; jeigu skaičius yra sveikas - pridedama .0.
P.s.: šio skaičiavimo metu y reikšmė ir tipas nepasikeitė .
Dažnai būna svarbu pakeisti duomenų tipą. Panašiai kaip obuolį galime paversti skysta mase, naudodami blenderį. Tam naudojamos tipo pakeitimo (angl., typecast) funkcijos:
x = float("3.4")
print(x-1)Tekstą, kuriame buvo užrašyta "3.4" pakeičia į skaičių su kableliu3.4,ir atspausdina 2.4. Be tipo pakeitimo, programa užlūžtų.
![]() | Python leidžia kai kuriuos aritmetinius veiksmus atlikti su tekstu naudojant skaičius. Komanda atspausdina Valio!Valio!. Kaip matote, Python tiesiog 2 kartus padaugino nurodytą tekstą. Vėliau pamatysime, jog str tipo duomenis taip pat galima sudėti, bet atlikti dalybos ar atimties nepavyks. |
Įvairios tipo pakeitimo funkcijos elgiasi skirtingai :
- keičiant
floatįint„nubraukiama“ informacija po kablelio:int(1.234)duoda1, oint(-34.7)duoda-34(atliekamas apvalinimas žemyn). - keisti tekstą (
str) įintgalima tik tada, kai tekste yra užrašytas sveikas skaičius (pvz, skaitant duomenis iš failo), pvz.,int("1.234")bus klaida. - keisti
strįfloatgalima tik tada, jei tekste užrašytas realusis skaičius (ir nieko daugiau), o, pvz.,float("sandwich")bus klaida.
Vienas dažniausių atvejų, kai reikia tipo keitimo, yra naudotojo įvestų duomenų atpažinimas. Įvestas tekstas verčiamas į skaičių:
Dar vienas pratimas pamokos pabaigai.
![]() | Kadangi yra daug mygtukų po kodo įvedimo laukeliu, kai kuriuos perkelėme į meniu „Daugiau veiksmų…“ |
Vėlesniuose pavyzdžiuose dažnai duomenys bus nuskaitomi iš teksto (po vieną eilutę), naudojant funkciją "input( )" -- angl. reiškia „(duomenų) įvedimas“. Pvz., tokiu atveju, picos užduoties pradžioje būtų parašyta:
inputStr=input( )




