3: Komentarai ir kabutės

Programose būna 3-jų rušių tekstas:  programos komandos, tekstiniai duomenys ir komentarai.

Kompiuterinės programos rašomos taip, kad jomis būtų galima “susikalbėti” su kompiuteriu. Tačiau kiekviena lazda turi du galus, gebėjimas “susikalbėti” su kompiuteriu reiškia ir tai, kad kalba tampa mažiau suprantama žmonėms. Šiai problemai spręsti naudojami komentarai.

Pitone, kiekviena eilutė esanti po # simbolio yra  komentaras - papildoma informacija programuotojui - bet tiesiogiai programos vykdymui neturi įtakos:

Pavyzdys: Kaip veikia komentavimas

Pitonas antrosios eilutės nevykdė - nespausdino, kadangi ji prasidėjo # simboliu (programa neatspausdino 2).
Komentarai yra naudojami keliais atvejais:

  • programos paaiškinimams, kuriuos vėliau galės skaityti kiti žmonės;
  • priminimui, ką reiktų toje vietoje padaryti ("to do" sąrašams);
  • dalies programos laikinam „išjungimui“ (kad nereikėtų to fragmento trinti, o paskui vėl įkopijuoti)

Štai keletas pavyzdžių. Norėdami pradėti iš naujo, spauskite „Grąžinti pradinį kodą“.

Programavimo pratimas: Antras spėjimas
Ištaisykite šią programą, kad ji atspausdintų sekundžių, esančių savaitėje kiekį.. Užuomina

Tekstiniai duomenys

Tekstiniai duomenys yra simbolių eilutės, apsuptos kabutėmis. Angliškai eilutė yra „string“, todėl tekstinių duomenų tipas yra vadinamas „string" (sutrumpintai „str“).  Pamokoje nr. 0 buvo tekstiniai duomenys -  "Hello, World!".  Jeigu teksto duomenyse (tarp kabučių) yra #, jis neturi komentaro efekto.

Pavyzdys
String’as su # ženklu.

Prisiminkime, print("3 + 4") neatspausdins 7, norėdami gauti 7 turime įvesti 3 + 4. T.y., tekstiniai duomenys gali atrodyti kaip programos fragmentas, tačiau tai nebus vykdoma (nebent panaudosite kažkokias spec. funkcijas).

Spec. simbolių užrašymas su  \

O ką daryti, kai norime atspausdinti kabutes? Pabandę paleisti print("I said "Wow!" to him") gausime klaidą: problema tame, kad Pitonas matys dvi teksto eilutes: "I said " ir kažkur toliau  " to him". Juk mes ne to norėjome!

Ši problema sprendžiama dviem būdais.

  • Teksto eilutę galime pradėti ir užbaigti naudodami viengubas kabutes (apostrofus), pvz,  'blah blah'. Tarp jų galime įtalpinti dvigubas kabutes 'I said "Wow!" to him.'
  • Prieš kabutes galime dėti spec. ženklą - kairinį brūkšnį ("backslash") -- po jo parašyta kabutė bus suprantama kaip teksto dalis, o ne pabaigos ženklas. Pvz., pvz.  \" arba \' . Tai yra vadinama kaitos seka (angl. "escape sequence"), nes keičiasi simbolio prasmė. Pažvelkime į pavyzdį.
    Pavyzdys
    Kairiniai brūkšniai „apsaugo“ kabutes, tačiau nėra spausdinami.

Bet, kadangi \ yra ypatingas ženklas, norint jį atspausdinti, rašomas dvigubas \\.

Pasirinkimo užduotis: Kaitos sekos
Ką atspausdins? print("Backslashes \\ and single quotes \' and double quotes \" and pound signs # are awesome!")
Teisingai!

Programavimo pratimas: Panaudokite kairinį brūkšnį
Parašykite programą kuri atspausdina:

A double-quote's escaped using a backslash, e.g. \"
Yra daugiau nei vienas būdas užduočiai atlikti. Pavyzdžiui, galite naudoti kabutes ir apostrofas. Tačiau ar galite uždavinį išspręsti naudodami trečią būdą?

Yra ir kitokių kaitos sekų: peršokimas į naują eilutę užrašoms "\n", o tabuliacijos simbolis -- "\t".