Programovací jazyk Python: Čo to je a na čo sa používa

Autor článku: Michaela Kojnoková

Programovací jazyk Python je interpretovaný, vysokoúrovňový jazyk so stručným a čitateľným zápisom. Používa sa na automatizáciu, prácu s dátami aj testovanie softvéru. Programovanie v Pythone sa dá začať bez predchádzajúcich skúseností, preto sa na ňom často učia základy programovania na školách aj v kurzoch.

Programátorka pracuje s jazykom Python v prostredí Jupyter Notebook a analyzuje dáta zobrazené v tabuľkách a grafoch.

Čo je programovací jazyk Python

Programovací jazyk Python je plnohodnotný jazyk na všeobecné použitie, v ktorom vznikajú krátke skripty aj rozsiahle aplikácie. Čo je Python, vystihuje oficiálna dokumentácia jednou vetou: jazyk, ktorý spája veľké možnosti s veľmi prehľadnou syntaxou. Syntax sú pravidlá, podľa ktorých sa kód zapisuje.

Python je interpretovaný jazyk: príkazy vykonáva interpreter jeden po druhom a program sa vopred neprekladá do strojového kódu, teda do inštrukcií pre procesor. Je to aj vysokoúrovňový jazyk, takže sa v kóde nestaráš o pamäť ani o procesor a píšeš v pojmoch blízkych ľudskej reči.

Kto a kedy vytvoril Python

Python vytvoril holandský programátor Guido van Rossum, ktorý na ňom začal pracovať v decembri 1989 a prvú verziu zverejnil vo februári 1991. Podľa oficiálnej dokumentácie potreboval jazyk, ktorý sa dá ľahko rozširovať. Práva k jazyku dnes drží nezisková organizácia Python Software Foundation.

Hlavné vlastnosti jazyka Python

Jazyk Python má päť vlastností, ktoré vysvetľujú, prečo sa používa v toľkých oblastiach:

Vlastnosť Čo znamená Príklad
Interpretovaný Kód sa spúšťa priamo, bez samostatného kroku kompilácie. Skript sa spustí príkazom python subor.py.
Dynamicky typovaný Typ premennej sa určí sám podľa hodnoty. Zápis x = 5 nepotrebuje deklaráciu typu.
Multiplatformový Ten istý program beží vo Windows, v macOS aj v Linuxe. Skript napísaný na notebooku sa spustí aj na serveri.
Open source Jazyk je zadarmo a jeho zdrojový kód je verejný. Python si stiahneš z python.org bez poplatku.
Rozsiahla štandardná knižnica Veľa funkcií je k dispozícii hneď po inštalácii. Práca so súbormi, s dátumami alebo s formátom JSON bez ďalších balíkov.

Ako čitateľne Python vyzerá, ukazuje krátky program:

mena = ["Anna", "Peter", "Zuzana"]
for meno in mena:
    print("Ahoj, " + meno)

Program prejde zoznam troch mien a každé z nich pozdraví na samostatnom riadku.

Na čo sa používa Python

Python sa používa najmä na automatizáciu opakovaných úloh, analýzu dát, strojové učenie, vývoj webových aplikácií a testovanie softvéru. Na väčšinu úloh ponúka Python knižnice, ktoré stačí nainštalovať. Knižnica je hotový balík kódu, ktorý rieši určitý typ úloh a do programu sa len pripojí.

Schéma: na čo sa používa programovací jazyk Python – automatizácia, analýza dát, strojové učenie, webové aplikácie, testovanie softvéru a DevOps

Automatizácia a skripty

V jazyku Python automatizácia znamená, že opakovanú ručnú prácu prevezme skript. Skript je menší program na jednu úlohu, napríklad na kontrolu a triedenie logov, zostavenie pravidelného reportu alebo hromadnú úpravu dokumentov. Log je záznam o tom, čo sa v systéme dialo. Na prácu so súbormi a priečinkmi stačí štandardná knižnica, napríklad modul pathlib. Úloha, ktorú niekto každý deň robí ručne, sa tak zmení na jeden príkaz.

Analýza dát a data science

Pri analýze dát sa Python používa na čistenie, spájanie a vyhodnocovanie tabuliek, ktoré sú na tabuľkový procesor priveľké. Knižnica pandas pracuje s dátami v tabuľkách, knižnica NumPy s rozsiahlymi číselnými poľami. Kód sa často píše v prostredí Jupyter Notebook, kde sa spúšťa po častiach a výsledok vrátane grafu vidno hneď pod ním. Data science je odbor, ktorý z dát pomocou štatistiky a programovania získava odpovede na konkrétne otázky.

Strojové učenie a umelá inteligencia

Strojové učenie (machine learning, ML) je oblasť umelej inteligencie (AI), v ktorej sa program učí z dát namiesto toho, aby dostal presné pravidlá. Python sa na umelú inteligenciu hodí vďaka knižniciam: scikit-learn obsahuje klasické algoritmy, napríklad na triedenie a predpovedanie, PyTorch a TensorFlow slúžia na neurónové siete, ktoré stoja za rozpoznávaním obrazu či jazykovými modelmi.

Z knižníc na strojové učenie som pracovala so scikit-learn a TensorFlow.

Webové aplikácie

Vo webových aplikáciách beží Python na serveri: spracúva požiadavky z prehliadača, pracuje s databázou a vracia hotovú stránku alebo dáta. Framework je sada hotových stavebných prvkov, na ktorých sa aplikácia postaví rýchlejšie než od nuly. Framework Django obsahuje väčšinu potrebného v jednom balíku vrátane prihlasovania a administrácie, framework Flask je menší a hodí sa na jednoduchšie služby, napríklad na malú internú aplikáciu.

Analytik skúma grafy a dátové modely na priesvitnej digitálnej obrazovke v kancelárii.Prečítaj si aj:Data science: Disciplína, ktorá formuje budúcnosť práce s informáciamiZisti, čo je data science a aké sú jej silné stránky. Vieš, prečo je dôležitá a aké výhody prináša firmám?

Python v automatizácii testov a v DevOps

V testovaní softvéru sa Python používa na písanie automatizovaných testov a v DevOps na skripty, ktoré spájajú nástroje a kroky nasadzovania. Na písanie testov pritom netreba skúsenosti s vývojom aplikácií. V nástroji Robot Framework sa testy skladajú z kľúčových slov, ktoré sa čítajú ako kroky testu, a nástroj sa rozširuje knižnicami napísanými v jazyku Python. V nástroji pytest sa testy píšu ako bežné funkcie v jazyku Python, takže tam sa základy programovania zídu.

Na projektoch s webovými aplikáciami som v nástroji Robot Framework testovala používateľské rozhranie aj API. Volania API som riešila knižnicou RequestsLibrary a kontrolu údajov v databáze knižnicou DatabaseLibrary, takže na rozhranie, API aj databázu stačil jeden nástroj.

Na pozícii DevOps Test Engineer som v nástroji Prefect nastavovala a spravovala workflowy, ktoré sa píšu v jazyku Python a spúšťajú sa podľa plánu, bez ručného zásahu. Pri code review sme kód kontrolovali nástrojmi mypy a Ruff, ktoré odhalia chyby v typoch a v štýle zápisu ešte pred spustením.

Výhody a nevýhody jazyka Python

Hlavnou výhodou jazyka Python je čitateľný zápis a množstvo hotových knižníc, hlavnou nevýhodou pomalší beh programov v porovnaní s kompilovanými jazykmi. Kompilovaný jazyk je jazyk, ktorého kód sa pred spustením celý preloží do strojového kódu.

Výhody Nevýhody
Čitateľný zápis Pomalší beh než pri kompilovaných jazykoch
Veľa hotových knižníc v katalógu PyPI Chyby v typoch sa prejavia až pri behu programu, lebo jazyk je dynamicky typovaný
Využitie od skriptov po strojové učenie Odsadenie je súčasťou syntaxe, takže nesprávna medzera znamená chybu
Rozsiahla dokumentácia a komunita

Výhody prevážia pri úlohách, kde rozhoduje rýchlosť písania a nie rýchlosť behu: pri skriptoch, testoch, analýze dát a prototypoch je Python jazyk, v ktorom funkčný výsledok vznikne rýchlo. Nevýhody zavážia tam, kde program musí reagovať v zlomkoch sekundy alebo spracúvať veľkú záťaž. Chybám v typoch sa dá predchádzať nástrojmi na kontrolu kódu a testami. Obľúbený je Python najmä preto, že na väčšinu úloh už existuje hotová knižnica.

Python v porovnaní s jazykmi Java a Go

Programy v jazyku Python sú spravidla kratšie a píšu sa rýchlejšie než v jazyku Java, pri behu sú však pomalšie. Podľa eseje na python.org bývajú troj- až päťnásobne kratšie než rovnaké programy v jazyku Java, najmä vďaka vstavaným dátovým typom a dynamickému typovaniu. Jazyk Go je na rozdiel od jazyka Python kompilovaný. Rozdiely medzi jazykmi Python, Java a Go popisuje nasledujúca tabuľka:

Porovnanie jazykov Python, Java a Go

Jazyk Python Java Go
Spúšťanie kódu interpretovaný, príkazy vykonáva interpreter jeden po druhom kompiluje sa do bajtkódu, ktorý spúšťa Java Virtual Machine kompiluje sa vopred do strojového kódu
Typovanie dynamické statické statické
Typické použitie automatizácia, analýza dát, strojové učenie, testy podnikové aplikácie serverové programy a sieťové služby

Programovanie v Pythone: Ako začať

Na začiatok s programovaním v Pythone stačí nainštalovať Python z oficiálnej stránky python.org, otvoriť editor a napísať prvý krátky program. Programovanie v Pythone sa dá vyskúšať za jedno popoludnie. Podľa oficiálnej dokumentácie je Python vhodný aj ako prvý jazyk, pretože má jednoduchú a jednotnú syntax. Postup má štyri kroky:

  1. Inštalácia. Stiahni si z python.org inštalátor jazyka Python 3 pre svoj operačný systém a spusti ho.
  2. Editor. Na začiatok stačí editor IDLE, ktorý sa nainštaluje spolu s jazykom Python. Neskôr si vyberieš editor podľa seba.
  3. Prvý program. Napíš program, ktorý vypíše jednu vetu, ulož ho ako súbor s príponou .py a spusti.
  4. Malý vlastný projekt. Po prvom programe pokračuj malým projektom, na ktorom si precvičíš základné stavebné prvky jazyka.

Pri jazyku Python základy vysvetľuje oficiálny tutoriál na docs.python.org a v slovenčine online učebnica Programovanie v Pythone od Andreja Blaha. Materiály označené ako Python pre začiatočníkov ponúkajú aj online kurzy. Podrobnosti nájdeš v článku Programovanie je budúcnosť. Nauč sa programovať vďaka online kurzom aj ty.

Kde sa Python uplatní v práci

Python sa uplatní v testovaní softvéru, analýze dát, DevOps, strojovom učení a pri vývoji backendu. Backend je časť aplikácie, ktorá beží na serveri a používateľ ju nevidí. V testovaní a v DevOps býva Python pracovným nástrojom popri iných zručnostiach, v analýze dát a strojovom učení býva hlavným jazykom. Znalosť jazyka sa dá preniesť medzi oblasťami, mení sa len sada knižníc.

Tipy pre programovanie v jazyku JavaPrečítaj si aj:7 tipov, ako ľahšie programovať v jazyku JavaPrečítaj si programátorské tipy našich kolegov a uľahči si programovanie v jazyku JAVA.Ak si sa rozhodol pre Java programovanie, pravdepodobne siahneš najskôr po kurze. Bez ohľadu na to, či si sa iba začal vzdelávať alebo už máš niekoľko lekcií za sebou, existujú isté pravidlá, o ktorých sa bežne na školení nedozvieš. Programátori, ktorí v jazyku […]

FAQ: Často kladené otázky o programovacom jazyku Python

Čo je Python programovanie?

Python programovanie je písanie programov v jazyku Python, od krátkych skriptov na automatizáciu až po webové aplikácie a modely strojového učenia. Typicky v ňom vznikajú skripty, ktoré spracúvajú súbory a dáta, automatizované testy a serverová časť webových aplikácií. Python používajú ľudia, ktorí testujú softvér, tímy, ktoré analyzujú dáta, aj vývojové tímy. Začať sa dá bez predchádzajúcich skúseností, stačí nainštalovaný Python a editor.

Čo je Python program?

Python program je textový súbor s príponou .py, ktorý obsahuje príkazy v jazyku Python a spúšťa ho interpreter riadok po riadku. Interpreter je program, ktorý príkazy číta a hneď vykonáva. Krátky program na jednu úlohu sa nazýva skript, väčšia aplikácia sa skladá z viacerých súborov, ktoré na seba nadväzujú. Program spustíš priamo z editora alebo v príkazovom riadku príkazom python a názvom súboru. Príkazový riadok je okno, do ktorého sa príkazy píšu ako text.

Ako nainštalovať Python?

Python nainštaluješ stiahnutím inštalátora z oficiálnej stránky python.org a jeho spustením; vo väčšine distribúcií Linuxu býva Python už predinštalovaný. Vo Windows a v macOS si na python.org vyber inštalátor pre svoj systém a prejdi krokmi sprievodcu. Či inštalácia prebehla, overíš v príkazovom riadku príkazom python --version, ktorý vypíše nainštalovanú verziu. Ak príkaz Python nenájde, zopakuj inštaláciu a povoľ pridanie jazyka Python do systémovej cesty.

Programovací jazyk Python v skratke

Programovací jazyk Python je čitateľný, všestranný jazyk, s ktorým sa dá začať bez predchádzajúcich skúseností a ktorý sa používa od jednoduchých skriptov až po strojové učenie. Uplatní sa pri automatizácii, analýze dát, webových aplikáciách aj pri testovaní softvéru. Na začiatok stačí nainštalovať Python, napísať prvý krátky program a pokračovať malou úlohou z vlastnej práce alebo štúdia.

Zdroje:

  • https://docs.python.org/3/faq/general.html
  • https://www.python.org/doc/essays/comparisons/
  • https://pypi.org/
  • https://go.dev/doc/faq
  • https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html
  • https://dev.java/learn/getting-started/
Autor článku: Michaela Kojnoková

Vyštudovala som informatiku na ŽU a TUKE a už niekoľko rokov pôsobím v oblasti softvérového testovania. Špecializujem sa na automatizáciu testov, Python a DevOps procesy. Popri práci ma baví vzdelávať sa ďalej v oblasti machine learningu a vývoja umelej inteligencie a objavovať možnosti jej využitia v praxi. Svoje skúsenosti a poznatky z oblasti AI, testovania a moderných technológií taktiež pravidelne zdieľam prostredníctvom odborných článkov.

Spoznaj nás bližšie

Pozri sa, na čom spoločne pracujeme, kto sú ľudia za naším kódom a ako sme rástli. Zistíš, ako vyzerá naša práca zblízka a čo nás spája aj mimo kancelárie.