Python 3 je vysokoúrovňový interpretovaný programovací jazyk.
Vysokoúrovňový znamená v princípe to, že v ňom programátor musí riešiť menej technických detailov (napríklad alokáciu a dealokáciu pamäte) a môže sa viac sústrediť na riešenie samotného problému.
Pozrime sa teraz na význam slova interpretovaný.
Pri vykonávaní programu počítačom sa musí program najprv preložiť do strojového kódu -- primitívneho programovacieho jazyka, ktorému rozumie procesor.
Dva najbežnejšie prístupy k riešeniu tohto problému sú kompilácia a interpretácia.
Kompilácia je preloženie celého programu naraz, pred jeho spustením. Podobá sa to teda na prácu prekladateľa, ktorý prekladá knihu. Kompiláciu používajú napr. Pascal, C, C++ a Java (aj keď pri Jave je to trochu komplikovanejšie).
Interpretácia je prekladanie jednotlivých častí programu (príkazov), až keď sa idú vykonávať. Podobá sa to teda skôr na prácu tlmočníka (viete, ako sa po anglicky povie tlmočník?).
Zopár dôsledkov toho, že Python 3 je interpretovaný:
Okrem toho, že sa v ňom dajú spúšťať celé programy, Python má aj tzv. interaktívny mód, kde mu príkazy zadávate po jednom a on ich hneď vykonáva. To je celkom praktické, ak si chcete niečo len rýchlo vyskúšať a nechce sa vám vytvárať kvôli tomu nový súbor.
Python je ochotný spustiť aj kód obsahujúci chyby, ktoré by sa vám v kompilovanom jazyku neskompilovali. Keď sa takýto program dostane do chybnej časti, spadne. Ak sa do chybnej časti kódu nedostane (napríklad preto, lebo je len v nejakej vetve if
-u), program môže úspešne dobehnúť.
Program v Pythone nemá žiadne povinné časti (ako main()
, alebo begin ... end.
), jednoducho rovno píšete príkazy. Prázdny súbor je teda tiež korektný program v Pythone, ktorý nerobí nič.
Príkazy v Pythone sa bežne neukončujú bodkočiarkou, avšak každý musí byť na samostatnom riadku.
Na vypisovanie slúži funkcia print()
, ktorá vypíše svoj argument a koniec riadka.
print("hello world!")
Ak dáte funkcii print()
viac argumentov, vypíše ich oddelené medzerou.
print("jablko", 4.2, 47)
Ak nechcete, aby print()
vypísal na záver koniec riadka, môžete mu to zakázať pridaním špeciálneho argumentu end=""
print("jablko ", end="") # nevypíše koniec riadka
print("hruska") # vypíše koniec riadka
Premenné v Pythone netreba deklarovať, môžete ich rovno použiť. Prvé použitie premennej však musí byť priradenie do nej.
x = 47
print(x - 5) # ok, vypíše 42
print(y * 2) # chyba, program spadne
y = 42
Premenné ako také nemajú typ, do jednej premennej teda môžete postupne priradiť celé číslo (int
), reálne číslo (float
) aj reťazec (str
). Hodnoty, ktoré do premenných priradzujete, však už typ majú.
x = 47
print(x - 5) # ok, vypíše 42
x = 42.5
print(x + 4.5) # ok, vypíše 47.0
x = "štyridsaťsedem"
print(x) # ok, vypíše štyridsaťsedem
print(x - 5) # chyba, od reťazcov sa nedajú odčítavať čísla
Na načítanie vstupu slúži funkcia input()
, ktorá načíta jeden riadok zo vstupu a vráti ho ako reťazec. Program, ktorý dvakrát zopakuje vstup, teda môže vyzerať takto:
line = input()
print(line)
print(line)
Funkcia input()
vám vráti celý riadok ako jeden reťazec. Ak máte v riadku viac slov, môžete si ho rozsekať na slová pomocou metódy .split()
(tá funguje všeobecne na reťazcoch), ktorá vám vráti pole obsahujúce jednotlivé slová.
line = input()
arr = line.split()
print(arr[2])
print(arr[0])
Keď potrebujete reťazec skonvertovať na celé číslo, môžete použiť funkciu int()
, keď na reálne, funkciu float()
.
line = input()
x = int(line)
print(x + 47)
Blokové príkazy ako if
a while
fungujú rovnako, ako v iných jazykoch (Pascal, C, C++, Java). Majú však inú syntax:
{}
), ani slovami (begin, end
) ale odsadenímif <podmienka>:
<prikaz-vnutri-ifu>
<prikaz-vnutri-ifu>
...
<prikaz-mimo-ifu>
...
teda napríklad
if x > 7 and y < 12:
print("x je viac ako sedem")
print("y je menej ako dvanásť")
z = x + y