Kde se používá Python | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Kde se používá Python

Kde se používá Python

Data science, web development, vývoj her a mnohem více.

Python se snadno učí díky své jednoduché a čitelné syntaxi. Tento jazyk se používá pro mnoho úkolů – vývoj webových stránek, aplikací a her, analýzu dat, správu systému, testování. Python se používá ve společnostech Google, Facebook, Instagram, Spotify a Netflix.

Podle české služby pro vyhledávání práce Jobs je v České republice aktuálně asi 100 volných pracovních míst pro vývojáře v jazyce Python a jeden uchazeč obdrží v průměru 10 pracovních nabídek měsíčně.

Zeptali jsme se odborníků, jak při své práci Python používají. Odborníky jsou:

  • Kristina Isakova, datová vědkyně v Holidu a lektorka kurzu „Forecasting and Time Series Analysis“
  • Oleksandr Pindyk, vedoucí týmu, senior softwarový inženýr, vývojář herní umělé inteligence ve společnosti Wargaming
  • Artem Topolya, systémový produktový vlastník ve společnosti Wirex R&D
  • Yaroslav Nedashkovsky, spoluzakladatel a technický ředitel společnosti a-Gnostics

Data science, data analytics & data visualization

Podle průzkumu Python Developers Survey 2021 používá tento jazyk k práci s daty 84 % účastníků.

Kristina Isakova: „Datoví vědci, datoví analytici a datoví inženýři mají tendenci spolupracovat a sdílet výsledky. Pokud tým používá stejné nástroje, je práce mnohem snazší. Python má všechny nástroje pro analýzu a zpracování dat: knihovny pro statistickou analýzu a prognózování, širokou škálu balíčků pro vizualizaci. Počet knihoven roste a přizpůsobuje se požadavkům podniků a trhu.

Tento jazyk je velmi flexibilní. Umožňuje zpracovávat data, vytvářet modely a webové stránky. Na rozdíl od R nebo matlabu přesahuje jazyk Python rámec akademického použití, což zjednodušuje integraci s jinými projekty.

Pracuji s časovými řadami – posloupností statistických hodnot určité proměnné zaznamenaných v určitém časovém intervalu. Pomáhají sledovat návštěvnost webu, analyzovat prodejní cyklus, vytvářet mechanismy pro kontrolu stavu systémů (zatížení serveru, úroveň teploty), pracovat s lékařskými údaji (puls, srdeční frekvence). Časové řady se používají také při předpovídání, monitorování a detekci anomálií.

Python má mnoho knihoven a nástrojů pro práci s časovými řadami. Pomocí knihovny statsmodels tak můžete řadu rozložit na složky: trend, sezónnost a rezidua. Můžete také zkoumat autokorelaci a parciální autokorelaci. Statsmodels nabízí nástroje pro vyhlazování časových řad a vytváření prognostických modelů, jako je exponenciální vyhlazování a Holt–Wintersovy modely. Knihovna Pandas, kterou používá mnoho analytiků, usnadňuje práci s časovými řadami pomocí časového indexování.“

Python nabízí desítky grafických knihoven. Chcete-li vytvořit grafické znázornění nebo interaktivní graf, musíte si vybrat knihovnu, například Pandas Visualization nebo Plotly.

Yaroslav Nedashkovsky: „Python je náš hlavní jazyk pro datovou vědu. Používáme ji pro úlohy DataOps (sběr dat, validace, čištění) a pro ModelOps (školení, rekvalifikace, verzování modelu atd.). Většina služeb a-Gnostics – naší platformy pro analýzu dat z průmyslových zařízení – je navíc napsána v jazyce Python.

Důležité je, aby jazyk umožňoval vytvořit prototyp během několika dní.

Existují však i nevýhody. Jednoduchost jazyka Python se nám může vymstít. Některá dočasná a ne zrovna optimální řešení se mohou stát trvalými (nízký vstupní poplatek). Pokud však provedete revizi kódu, problém zmizí. Mezi nedostatky patří také omezení rychlosti a paměti, ale ty lze jen stěží označit za kritické. Pokud je kód napsaný a služby jsou organizované správně, neměly by nastat žádné problémy.

Python je nejlepší nástroj s dobrou infrastrukturou pro řešení úloh analýzy dat. Těší mě rychlý rozvoj automatizace v oblasti Data Science (například služba coiled.io, která umožňuje škálovat datové pipeline v cloudu s minimálními úpravami kódu), což umožňuje více se soustředit na budování produktu.“

Parsery pro sběr informací na internetu jsou rovněž napsány v jazyce Python.

Jazykové knihovny pomáhají řešit klíčové úlohy ML. Mezi takové knihovny patří:

  • Scikit-Learn pro zpracování základních algoritmů strojového učení, jako je shlukování, lineární a logistická regrese, klasifikace a další.
  • TensorFlow pro práci s neuronovými sítěmi.
  • Pandas pro vysokoúrovňové datové struktury a analýzu.
  • Keras pro rychlé výpočty a prototypování.
  • NLTK pro práci s počítačovou lingvistikou, rozpoznávání a zpracování přirozeného jazyka.
  • Scikit pro zpracování obrázků.

Kromě ML je Python žádaný také v oblasti fintech. Když společnost HackerRank zkoumala, které jazyky zaměstnavatelé aktivně vyhledávají, v oblasti fintech (kryptoměny, bankovní software, analytické nástroje) byl největší zájem o Python.

Podle eFinancialCareers mají vývojáři v jazyce Python na výběr nejvíce volných pracovních míst ve srovnání s vývojáři v jiných jazycích.

Podniky potřebují při vývoji škálovatelná, ale jednoduchá a s různými knihovnami a komponentami kompatibilní řešení. Proto se při výběru jazyka berou v úvahu zejména tři faktory: Připojení, integrace a zabezpečení API. Python umožňuje zvládnout všechny tyto tři možnosti a dokonce nabízí i další – rozsáhlý ekosystém finančních knihoven s otevřeným zdrojovým kódem:

  • NumPy pro rychlé vektorizované operace s poli.
  • SciPy – kolekce vědeckých tříd a funkcí.
  • Cython – statický kompilátor pro hybridní kód Pythonu a C.
  • Pandas pro správu časových řad a tabulkových dat.
  • PyTables pro vstupně-výstupní operace a další.

Kromě toho můžete pomocí Pythonu rychle napsat MVP, a tedy rychle najít trh a zákazníky. Platforma Clearminds nabízející finanční poradenství a investiční nástroje je jedním z příkladů úspěšného využití přístupu MVP. Je napsán v jazyce Python a Django.

Artem Topolya: „Python je rozšířený téměř ve všech oblastech Fintech. Python je užitečný zejména v oblasti datové vědy a kvantitativní analýzy díky své obrovské databázi modulů. Myslím, že asi 95 % všech úloh matematické statistiky, ekonometrie a teorie pravděpodobnosti lze vyřešit během několika minut pomocí Pythonu.

Python se také používá v profesionálním obchodování ve společnostech spravujících aktiva, společnostech zabývajících se vysokofrekvenčním obchodováním a hedgeových fondech k vytváření aplikovaných matematických modelů, které popisují tržní procesy, nebo při vytváření modelů oceňování cenných papírů. Konečná implementace se obvykle nepíše v jazyce Python kvůli jeho nízkému výkonu ve srovnání s jinými jazyky.

Jako analytik používám Python často a hojně. Potřebuji spolupracovat s novými třetími stranami, které jsou pro společnost Wirex zajímavé. Proto při přípravě dokumentace provádím integraci s třetí stranou pomocí Pythonu a kompletně procházím všechny pracovní postupy na nízké úrovni. To mi umožňuje pochopit a popsat všechny možné případy.

Python je také vhodný a rychlý pro výběr vzorků dat, výpočet statistických ukazatelů a jejich vizualizaci – šetří čas."

Vývoj webu

Protože Python je serverový programovací jazyk, používá se k psaní webových aplikací. Podle statistik různých zdrojů vede Python mezi jazyky pro vývoj backendu.

Python lze použít k vytváření obchodní logiky a interakce s databází. Knihovny rozšiřují možnosti jazyka. Například Numpy, scikitLearn pro analýzu dat a matematické algoritmy a součásti dotazů SQL. A to vše je veřejně dostupné: Python lze používat a šířit zdarma.

Python má také mnoho frameworků – sad nástrojů, které urychlují vývoj webových aplikací. Mezi oblíbené patří: Django, Flask, Pyramid, Web2Py a Turbogears. Obsahují balíčky a moduly standardizovaného kódu, které pomáhají s některými částmi aplikace, jako je směrování URL, přístup k databázi, požadavky a odpovědi HTTP.

Vývoj her

Battlefield 2, Piráti z Karibiku, Sims 4, Disney's Toontown Online (také používá Panda3D pro grafiku) a další populární hry používají Python pro své funkce a doplňky. S rozvojem herního průmyslu se tento jazyk volí stále častěji, protože je jednoduchý a umožňuje rychle vytvářet prototypy videoher.

Oleksandr Pindyk: „Když píšete v jazyce Python, získáte jednoduchý, jasný a krásný kód. To vám umožní soustředit se na psaní obchodní logiky. Při vývoji herních mechanismů a funkcí je třeba provádět mnoho rychlých iterací a Python to usnadňuje. Čím rychlejší bude každá nová iterace, tím více kvalitních funkcí bude ve hře. Python má také poměrně nízký vstupní práh, mnoho lidí se ho učí jako první jazyk. Proto je mnohem snazší najít specialistu než například specialistu na C++. Vzhledem k tempu růstu gamedev je to nyní velmi důležité.

Jak se Python používá v game developmentu:

Automatizace testování. Python se skvěle hodí pro vytvoření celého testovacího cyklu: od přípravy skriptu, spuštění herního klienta, sledování běhu skriptu až po zpracování a vizualizaci výsledků testů.

DevOps – pro automatizaci nasazení, nastavení serverů a práci s různými konfiguracemi. A také pro shromažďování a vizualizaci informací o stavu různých herních služeb.

Psaní doplňkových služeb v souvislosti s hrou. Například ověřování plateb z různých zdrojů, backendové webové služby společnosti a hry, statistické služby a další užitečné doplňky hry.

Python lze použít také jako hlavní skriptovací jazyk enginu. Ve společnosti Wargaming to děláme například pro engine BigWorld, na kterém jsou vyvíjeny hry World of Tanks, World of Warships a World of Warplanes.

Hry jsou stále složitější. Odvětví se posouvá směrem ke hrám–službám nebo hrám s dalšími sociálními mechanikami. Čím více se hra podobá sociální platformě, tím více služeb potřebuje a tím více se bude Python používat pro vývoj.“

Mezi známé rámce patří:

  • Pyglet podporuje práci s okny, obsluhu událostí programu, joysticky, grafiku OpenGL, načítání obrázků, zvuku, hudby a videa v téměř libovolném formátu.
  • Panda3D je 3D engine napsaný v jazyce C++ s kompletní sadou vazeb na Python. Podporuje pokročilé možnosti – shadery, šablony a vykreslování do textury.
  • PyKyra Pyglet je multiplatformní knihovna pro správu oken a multimédií. Jedno z nejrychlejších prostředí pro vývoj her v jazyce Python, které podporuje všechny jazyky SDL i engine Kyra. PyKyra podporuje také video MPEG, zvuk MP3, Ogg Vorbis, Wav a další.
  • Ursina je engine, který umožňuje načítat kód, textury a modely během hry, automaticky importovat soubory .psd a .blend, hrát v celoobrazovkovém režimu během vývoje.

SEO

Ačkoli SEO nepatří do oblasti IT, Python zvyšuje produktivitu i zde. Generování kanálu RSS, psaní technické úlohy pro copywritera, analýzu protokolů a další procesy lze automatizovat pomocí znalostí základů jazyka Python.

Podívejme se na příklady.

Když se web přesune na novou adresu, odkazy ze staré adresy se často přeruší a přesměrují uživatele na stránku s chybou. Technologie mapování adres URL může v takových situacích zobrazit adresy URL mapováním určitých starých odkazů na nové adresy. Pomocí jazyka Python lze tuto činnost provádět automatizovaně a spravovat velké objemy stránek.

Jazyk může být užitečný také pro analýzu interních odkazů – počet, stav, značky, směr – což umožňuje vytvořit strategii pro zlepšení. Pokud je web rozsáhlý, je téměř nemožné provést to ručně.

Dalším příkladem je sledování rychlosti načítání webových stránek, která se u obrázků často ztrácí. Python se používá k optimalizaci obrázků a zmenšení jejich velikosti bez snížení kvality.

Jednoduchý design jazyka Python a jeho syntaxe inspirovaly vznik nových programovacích jazyků. Cobra, CoffeeScript a Go používají syntaxi podobnou jazyku Python.

To znamená, že znalost jazyka Python vám může pomoci přejít do dalších oblastí.

Autorka: Mgr. Maria Krasinska

Více článků
Příručka od robot_dreams s příkladem syntaxe
Kam se dnes posouvají technologické hranice robotiky?