Python 2. Premenné a práca s reťazcami

Aby program mohol zmysluplne pracovať, musíme ho „nakŕmiť“ informáciami, tieto informácie si program uloží do pamäti a potom s nimi pracuje. Pomenovaná časť pamäte sa nazýva premenná.

Operátor priradenia

Premennej priradíme hodnotu operátorom priradenia =

>>>a=7

>>>b=3

Zdanlivo sa nič nestalo, na obrazovke sa nič nevypísalo. Ak napíšeme meno premennej a stlačíme Enter, vypíše sa, akú má premenná hodnotu.

>>>a

\color{blue}7

>>>a*b

\color{blue}21

>>>a/b

\color{blue}0.42857142857142855

Poznámka: Výsledok vypísalo na 17 desatinných miest, ale pozornému oku neušlo, že číslica na poslednom mieste nie je presná. Počítač s racionálnymi či reálnymi číslami nepočíta absolútne presne a pri programovaní si toho musíme byť vedomí.

>>a%b

\color{blue}3

Ak napíšeme a/b*b a stlačíme Enter, všimnite si, že výsledok sa vypíše nie v tvare \color{blue}3 ale v tvare \color{blue}3.0. Kým premenná bola typu celé číslo, výsledok je typu číslo s plávajúcou desatinnou čiarkou (float). Vysvetlíme neskôr. Za istých okolností sa môže stať, že hoci by výsledok mal mať nám  známu presnú hodnotu, kvôli nepresnostiam pri počítaní s číslami typu float, môže byť výsledok úplne iný, než očakávame.

Ak použijeme meno premennej, ktorej sme nepriradili hodnotu, vypíše sa chybová hláška.

>>>c

\color{red}Traceback (most\,recent\, call\, last):
\color{red}File "<pyshell#10>", line\, 1,\, in <module>
\color{red}c
\color{red}NameError: name\, 'c'\, is\, not\, defined

Poznámka: Chybové hlášky sa zobrazujú červeným písmom. Čo píšeme mi, sa píše čiernym písmom, ale niekedy sa farba automaticky zmení a táto zmena farby čosi znamená. Výpis hodnoty sa zobrazoval modrou farbou.

Práca s reťazcami (textovými reťazcami)

Počítače napriek svojmu názvu vedia pracovať aj s textom a v súčasnosti väčšina ich práce mimo vedecké aplikácie a počítačové hry, je prácou s textom. Ak sa napríklad chcete prihlásiť do svojej e-mailovej schránky, musíte zadať svoju adresu a svoje heslo. Každý z nás sa nejako volá a naše mená sa skladajú obvykle z mena a priezviska. Ja som Tibor Menyhért, naplním premenné meno a priezvisko svojimi údajmi (vy ich naplňte svojimi, nezabudnite na úvodzovky):

meno=\color{green}'Tibor'

priezvisko=\color{green}'Menyhert'

Poznámka: Text v úvodzovkách sa zobrazuje zelenou farbou. Namiesto jednoduchých úvodzoviek môžete použiť zdvojené úvodzovky. Ukončenie sa musí urobiť  rovnakým druhom úvodzoviek, akým sa začalo. 

Premenné meno a priezvisko sú typu reťazec, (angl. string)

>>>meno

\color{blue}'Tibor'

>>>priezvisko

\color{blue}'Menyhert'

Poznámka: Aj keď ste použili dvojité úvodzovky, hodnota premennej sa vypíše s jednoduchými úvodzovkami.

Úvodzovky majú v Pythone špeciálny význam začiatok a koniec textového reťazca. Ako dostať do hodnoty  premennej typu reťazec úvodzovky?

Ak by sme premennej priezvisko chceli priradiť hodnotou Mac’Bain, môžeme to urobiť tak, že ako úvodzovky použijeme dvojité úvodzovky. Ak bude v hodnote priama reč, naopak použijeme jednoduché úvodzovky.

>>>priezvisko="Mac'Bain"

>>>vyrok='Peter mi povedal: "Prepáč, zajtra neprídem"'

Čo však v prípade, ak by som premennej vyrok chcel priradiť hodnotu Mac’Bain mi povedal: „Zajtra bude pršať“

V Pythone na to slúži znak opačné lomítko (angl. backslash) \. Opačné lomítko spôsobí, že znak, ktorý by sa interpretoval špeciálne sa interpretuje ako obyčajný znak.

vyrok='<em>Mac\'Bain mi povedal: "Zajtra bude pršať"'</em>

vyrok="<em>Mac\'Bain mi povedal: \"Zajtra bude pršať\""</em>

vyrok

\color{blue}'Mac\'Bain mi povedal: "Zajtra bude pršať"'  V oboch prípadoch vypíše to isté, všimnite si, že vypísalo Mac\'Bain a nie Mac'Bain. Navyše nám môže vadiť, že sa zobrazujú úvodzovky na začiatku a na konci. Na výpis údajov na obrazovku sa používa funkcia <strong>print(s)</strong>,<strong> </strong>kde s je typu reťazec (<em>angl. string</em>).>>>print (vyrok)<strong>Mac'Bain mi povedal: "Zajtra bude pršať"</strong>  Všimnite si, že príkaz <strong>print</strong> zobrazil hodnotu premennej čiernou a nie modrou farbou.  <strong>Operácie a jednoduché funkcie s reťazcami</strong>  Ak by sme do premennej <strong>cele_meno </strong>chceli vložiť údaje z premenných <strong>meno</strong> a <strong>priezvisko,</strong> potrebovali by sme nejakú operáciu na spájanie reťazcov. Touto operáciou je sčítanie reťazcov.>>>cele=meno+priezvisko>>>print(cele)

TiborMenyhert

Medzi menom a priezviskom by mala byť medzera.

>>>cele=meno+' '+priezvisko

>>>\color{pink}print(cele)

Tibor Menyhert

print

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *