Python, 2. časť

0

Programovanie programu

Programovaním vo vybratom programovacom jazyku rozumieme zápis výrazov v súlade s jasne definovanými pravidlami a stanovenou štruktúrou. Výrazy sa skladajú zo základných elementov (tokens), medzi ktoré patria čísla, slová, špeciálne znaky a operátory (symboly), výkonné prvky (statements) a kľúčové slová (keywords). Štruktúra programu definovaná programovacím jazykom stanovuje spôsob usporiadania výrazov. Preklad alebo interpretácia programu sa vykonáva pomocou tzv. syntaktickej analýzy (parsing), pri ktorej analyzátor (parser) sleduje stanovenú štruktúru, v rámci ktorej identifikuje jednotlivé výrazy a ich základné elementy.

Odstraňovanie chýb a komentáre

Je samozrejmé, že pri programovaní vznikajú chyby (bugs). Na to, aby sme napísali funkčný program, musíme všetky vzniknuté chyby vyriešiť (debugging). Programovaním sa teda nerozumie iba riešenie problémov, ale aj odstraňovanie chýb, ktoré pri programovaní vznikajú.

Rozoznávame tri základné skupiny chýb:

1. syntaktické chyby (syntax errors) – porušenie pravidiel zápisu výrazov, resp. stanovenej štruktúry programu,

2. chyby, ktoré vzniknú počas vykonávania programu (runtime errors) = tzv. výnimky (exceptions),

3. sémantické chyby (semantic errors) – program sa síce vykonáva, ale nerieši problém, ktorý sme ním chceli vyriešiť.

Jeden zo spôsobov, ako si môžeme uľahčiť hľadanie chýb a orientáciu v programe, je vkladanie komentárov. Komentáre takisto ako prázdne riadky (blank lines) sú interpreterom kompletne ignorované. Začiatok komentára označíme v konkrétnom riadku pomocou znaku mriežky #.

Prvý program

Príprava prostredia

Na to, aby sme mohli v našom OS vykonávať príkazy Pythonu, resp. spúšťať skripty Python, musíme nainštalovať jeho jadro a základné knižnice vrátane štandardnej knižnice. To nám stačí na to, aby sme boli schopní spúšťať príkazy Pythonu v rámci príkazového riadka. Základné aplikačné prostredie však môžeme doplniť o niektorú z grafických nadstavieb, medzi ktoré patrí aj IDLE (Python’s Integrated Development and Learning Environment). Získame tak mnoho výhod, ako napr. intuitívnejšie a prehľadnejšie písanie kódu s jeho aktívnym manažmentom.

Obr. 1 Python shell – interpreter

Inštalácia v Linuxe

Na inštaláciu v OS Linux môžeme využiť zdrojový kód stiahnuteľný z domovskej stránky Pythonu, prípadne siahneme po repozitároch určených pre našu distribúciu, pričom môžeme využiť napr. tieto príkazy:

sudo apt-get install python3

sudo apt-get install idle3

Spustenie prostredia IDLE vykonáme jednoduchým príkazom idle.

Obr. 2 IDLE v OS Linux

Inštalácia vo Windows

Spustiteľný inštalačný súbor Pythonu možno stiahnuť z jeho domovskej stránky v časti Downloads. Následná inštalácia približne 25 MB balíčka, ktorý obsahuje štandardnú knižnicu vrátane prostredia IDLE, je úplne triviálna.

Obr. 3 IDLE v OS Windows

Práca v IDLE

Nový súbor určený na zápis príkazov vytvoríme výberom File – New File. Po zápise príkazov ich môžeme vykonať výberom Run – Run Module, resp. stlačením funkčného klávesu F5. Rozpracovaný kód, samozrejme, môžeme kedykoľvek uložiť do externého súboru pomocou File – Save. Je pritom jedno, akú príponu bude mať nový súbor, no dobrý zvyk je používať príponu .py.

„Ahoj, svet!“

Viaceré programátorské kapacity tvrdia, že kvalitu programovacieho jazyka možno hodnotiť podľa náročnosti, akou je jazyk schopný zobraziť frázu „Ahoj, svet!“. V Pythone to dokážeme urobiť triviálne:

print(“Ahoj, svet!“)

Funkcia print() slúži na zobrazenie zadaného údaja (value) na obrazovke počítača. Údaj je základná entita, s ktorom manipuluje spustený program. Každý údaj patrí do jednej z preddefinovaných množín (class) údajov, resp. do niektorého z dátových typov (data type):

bool

pravda / nepravda

True, False

int

celé číslo so znamienkom

10, -999, 12345

long

veľké celé číslo so znamienkom

12345678L, -87654321L

float

reálne číslo so znamienkom

3.14159, -222.88, 1.3e2

complex

komplexné číslo

3.14j, .84j, -2+3j

str

reťazec znakov

‘‘, “abcd“

list

zoznam údajov ľubovoľného typu

[‘abcd‘, 123, ‘efg‘, 3.14]

tuple

nemenný zoznam údajov ľubovoľného typu

(‘abcd‘, 123, ‘efg‘, 3.14)

dict

zoznam kľúčov s priradenými údajmi

{‘meno‘:‘jan‘, ‘vek‘:35}

Čísla sa dajú zapísať v osmičkovom (octal) alebo šestnástkovom (hexadecimal) tvare pomocou znakov 0o, resp. 0x. Časti reťazcov a zoznamov možno získať pomocou tzv. operátora rozdelenia (slice) ‘[ ]‘ a ‘[:]‘.

Všetko je objekt

Každý údaj je v Pythone reprezentovaný vo forme objektu, ktorý má v pamäti rezervované pamäťové miesto. Objekty = údaje = rezervované pamäťové miesta môžeme označiť menami (names). Mená sa v programovacích jazykoch nazývajú premennými (variables). V prípade Pythonu sú premenné takisto objektmi, pričom ich nie je nevyhnutné vopred deklarovať ani označiť dátovým typom.

Premenné

Údaj premennej priradíme pomocou znaku = (assignment operator). Hovoríme o vytvorení tzv. časového obrazu (time snapshot) premennej, ktorý sa následne môže (premenné), resp. nemusí (konštanty) zmeniť. Možné je viacnásobné priradenie jedného údaja viacerým premenným.

Názvy premenných môžu byť ľubovoľne dlhé, môžu obsahovať písmená aj číslice, pričom Python rozlišuje medzi malými a veľkými písmenami. Názvy premenných, samozrejme, nemôžu obsahovať špeciálne znaky a nesmú byť rovnaké ako názvy interných (built-in) funkcií, výkonných výrazov a kľúčových slov.

V okamihu priradenia údaja premennej, ktorá sa nachádza na ľavej strane znaku =, dochádza k vyhodnocovaniu (evaluate) výrazu, ktorý je na jeho pravej strane. Toto vyhodnocovanie sa uskutočňuje zľava doprava, pričom sa dodržiava nasledujúca priorita (precedence) operácií:

1. zátvorky (),

2. umocňovanie ** (operátor ‘*‘ v prípade reťazcov vykoná ich opakovanie),

3. násobenie *, delenie /, zvyšok po delení %,

4. sčítanie +, odčítanie – (operátor + v prípade reťazcov vykoná ich spojenie).

Obr. 4 Python – kľúčové slová a symboly

Inštancia objektu

Vyhradenie pamäťového miesta sa vykonáva pri vytvorení tzv. inštancie (instance) objektu. S pamäťovým miestom môžeme takmer ľubovoľne manipulovať vrátane jeho uvoľnenia. O uvoľnenie sa však starať nemusíme, pretože Python disponuje funkciou automatického uvoľňovania nepotrebného pamäťového miesta (garbage collection). Objekty majú svoje vlastnosti, resp. uchovávajú vnútorné údaje (attributes), ktoré sa nachádzajú v určitom stave (state). Atribúty dopĺňajú funkcie (methods), ktoré dokážu objekty vykonávať. Pri objektovom programovaní teda využívame atribúty a metódy vytvorených objektov, ktoré získame cestou ich inštancií. Robíme tak pomocou tzv. zápisu s bodkou (dot notation):

inštancia.atribút

inštancia.metóda

Zobrazit Galériu

Marek Sopko

Všetky autorove články

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať