Předplatné časopisu
Finmag do schránkyPředplatit časopis 

Jak začít programovat v Pythonu. Finmag newsletter tentokrát jinak

Michal Kašpárek
Michal Kašpárek | 31. 7. 2022 | 9 582
Finmaginformační technologienewsletterpočítačeprogramování

Léto v plném proudu, tak to tentokrát zkusíme jinak. Přinášíme tipy na srozumitelné výukové materiály ke „druhému nejlepšímu jazyku úplně pro všechno“. Hnedka vysvětlím proč.

Jak začít programovat v Pythonu. Finmag newsletter tentokrát jinak

Chcete Finmag Newsletter dřív? Přihlaste se k odběru a můžete ho mít v mailu každý pátek!

Zdroj: Shutterstock

Letos v únoru jsem se z důvodů, o kterých vám povím za chvíli, potřeboval trochu zorientovat v programovacím jazyku Python. V různých návodech jsem tehdy narazil na spoustu kryptických mouder, které jsou začátečníkům k ničemu: „Python je dynamicky typovaný“, „v Pythonu je všechno objekt“ a tak dále.

Taky jsem měl ale štěstí na několik skvělých materiálů, které mi pomohly dokončit, co jsem potřeboval. A pak jsem toho udělat ještě mnohem víc a mnohem rychleji, než bych si na začátku býval pomyslel.

Tenhle newsletter tedy berte jako mimořádný letní rozcestník po takových zdrojích.

Proč by mě měl zajímat nějaký Python?

Python je k začátečníkům a začátečnicím velmi vstřícný jazyk, zvlášť šikovný pro automatizaci různých voprců typu „najdi na webové stránce údaj, ulož ho do tabulky, a opakuj to celý den“. Už po několika hodinách seznamování vám může začít šetřit čas – nebo přinášet radost jinak.

Newsletter z kuchyně Finmagu

Pravidelně pro vás přinášíme přehled chytrého čtení (nejen) na víkend. Protože dobré čtení má oproti sebelepší buchtě jednu výhodu: nevadí, že se do něj před vámi zakousl někdo jiný. Každý týden tým magazínu Finmag a webu Finmag.cz ochutná metráky textů. A každý pátek vám e-mailem pošle přehled těch nejlepších. Pokud tedy budete chtít a přihlásíte se k odběru našeho pravidelného newsletteru.

Na GitHubu najdete spoustu takových skriptů už naprogramovaných, pak vám stačí jen umět je spustit z příkazové řádky – to už se nebavíme o hodinách učení, ale možná jen o minutách.

Pokud přece jen budete psát vlastní kód, můžete ho v Pythonu začátečnicky naprasit, nebo využít pokročilé elegantní zápisy – v obou případech to udělá, co potřebujete. Kdyby byl Python stavebnice, byl by duplo; kdyby byl řeč, byl by italština. Z dupla i italštiny lze stvořit komplexní díla, zároveň vás ale nenutí svoji vlastní komplexnost obsáhnout – z dupla lze ihned stavět autíčka, italské fráze postihující běžné situace na dovolené si zapamatuje i malé dítě.

Mělo by tu zaznít: Python je zdarma a můžete si s ním hrát na Windows, macOS i Linuxu. Návod na instalaci zde.

Vedle zmíněné automatizace je Python skvělý i pro práci s daty a statistikami. Podle jednoho bonmotu je to „druhý nejlepší jazyk úplně na všechno“. Bonmot to samozřejmě není přesný, pořád ale pěkně ilustruje univerzálnost Pythonu i to, kolik šikovných doplňujících knihoven pro něj existuje.

Co se hodí do startu

Věřím, že všechny materiály, na které tu odkážu, budou užitečné i pro úplné začátečníky. Zároveň je ale fér přiznat, že jsem jím nebyl: na střední nás výborný učitel seznámil s Pascalem a SQL, v práci jsem často potřeboval něco poštelovat v JavaScriptu nebo PHP. Nikdy jsem ale do žádného z těch jazyků nepronikl víc. Především proto, že mi scházela motivace.

Důležitější než umět s příkazovou řádkou nebo mít ze školní informatiky základní povědomí o podmínkách a smyčkách je totiž najít praktický důvod, proč se Python – nebo jakýkoliv jiný jazyk – učit.

Můj případ: čtu na Kindlu knihy na přeskáčku a v textovém souboru s výpisky mám kvůli chronologickému řazení všechno pomíchané dohromady. V únoru jsem hledal aplikaci nebo službu, která by mi v tom udělala pořádek, a narazil jenom na pythonový skript kindle-clippings.

Nainstaloval jsem si tedy Python, spustil skript a ejhle, ono si to moc nerozumí s češtinou a dělá to i nějaké jiné věci, se kterými nejsem spokojený. Po večeru stráveném googlováním banálních věcí jsem skript přinutil dělat, co jsem potřeboval. A vzpomněl jsem si na další nástroje, o kterých jsem vždycky snil, ale nikde jsem je nenašel hotové. Byly to:

  • pomůcka pro editování článků, která by hlídala zdvojená zdvojená slova, slovesa použitá za citacemi, příliš dlouhá souvětí a tak dál...
  • archivovadlo článků, které jsem přečetl v aplikaci Pocket, a které dřív či později z původních adres zmizí
  • databáze historických výsledků F1, kde bych si mohl hledat různé zajímavosti, které zatím nikdo jiný nehledal či nenašel

Co mi pomohlo v úplném startu

Pokud rozumíte aspoň trochu anglicky, na YouTube visí skvělý čtyřhodinový začátečnický kurz Mike Danea. Provede vás instalací, ovládáním, základními operacemi i typy proměnných a dostanete se s ním až ke třídám a metodám.

Ostatně celý kanál freeCodeCamp.org je dar z nebes oproti knižním učebnicím, na kterých jsem při svých programátorských pokusech pohoříval před dvaceti lety. FreeCodeCamp pokrývá mnoho různých jazyků a technologií od úplně začátečnických po relativně pokročilé úrovně. (Jen bohužel ne všichni vyučující mají tak ízy-pízy přednes jako Mike Dane.)

Ke kafi ku poslechu máme...

Mikrofounek
Zdroj: Shutterstock

Nebaví snad číst? Nevadí! Co oči nebaví, uši napraví! A i pro ty něco máme: Finmag podcast. Reality, investice a zajímaví hosté. Uvařte si kafe, sedněte si, a zaposlouchejte se. Dobrou chuť!

Pěkné videokurzy jsou i na mCoding. Zvlášť jsem ocenil přehlídku 25 zelenáčských chyb.

Je až skoro trapné to připomínat, ale prosté googlování chybových hlášek vás přivede k mnohem poučnějším a užitečnějším odpovědím na Stack Overflow než kdy dřív. To je možná nejradostnější zjištění, co jsem si z téhle anabáze odnesl: hojnost volně dostupného a kvalitního výukového materiálu (nejen k programování) je jedním z nejviditelnějších pokroků lidstva za posledních dvacet let.

Kdo dává přednost češtině, ocení materiály pro začátečnické kurzy PyLadies. Ač jsem přítelem textů a nepřítelem videa, tady to mám poprvé naopak: učit se programování podle psaných materiálů po mě vyžaduje víc úsilí věcem porozumět. Video krom samotného kódu ukazuje, kam se to má napsat, na co se má klepnout, co to pak udělá.

Protože jsem na svoje sebevzdělávání šel z pracovních a rodinných důvodů už osvědčenou metodou „dej tomu hodinu denně, jakmile se ti ta hodina namane“, nedělal jsem rešerši kurzů naživo nebo online komunit. Nicméně vedle známých Czechitas jsem narazil ještě na sympatickou síť Junior.Guru Honzy Javorka. Ten napsal i řadu článků, kterými lze rovnou navázat na tento newsletter: Jak získat praxiJak hledat práci v IT?

Velkou inspirací pro ty, kteří se spíš než kvůli kariéře v IT učí programovat kvůli zefektivnění své současné práce, může být kniha Automate the Boring Stuff with Python. Je to kuchařka „pokud chcete přejmenovat všechny svoje fotky podle tohoto klíče, udělejte to takto“. Bohužel zase jen anglicky, ale zato zdarma.

Po čem jsem se rozkoukával dál: praxe

Stránka Rex Egg dopodrobna vysvětluje regulérní výrazy. Jde o řetězce, kterými lze v textu vyhledávat určité vzory – nejen při programování. I ve Wordu s jejich pomocí můžete nalézt například telefonní čísla nebo zkratky. Regex je hrůza na zapamatování, ale dá se to a benefity jsou zvlášť pro píšící a editující lidi značné. Snazšímu pochopení pomůžou hrátky s některým z mnoha regexových „pískovišť“, jako je RegExr.

Pro dolování obsahu webových stránek tu jsou pythonovské knihovny Beautiful Soup a Newspaper3k. První je univerzálnější, druhá trochu inteligentnější při práci s články. V obou případech je nutné znát základy jazyka HTML – viz skvělé nadčasové stránky Dušana Janovského Jak psát web.

Pro práci se statistikami a daty je šikovná knihovna pandas. Je bohužel o mnoho méně intuitivní než Python samotný, nicméně pěkné věci se s ní dají vyvádět už po pár hodinách učení, ke kterému doporučuji knihu Python for Data Analysis přímo od zakladatele projektu (opět anglicky, opět zdarma). Také z vlastní zkušenosti: učte se s daty, která znáte – snadno tak přijdete na to, že máte v kódu nějakou chybu.

Pro hraní s daty jsem si ještě oblíbil Jupyter Notebook – sešity, ve kterých můžete přímo v prohlížeči snadno míchat kód, výsledky výpočtů a textové zápisky. (Pěkný článek o nich vyšel před lety v The Atlantic.)

Časem se budou hodit základy Gitu nebo aspoň orientace na GitHubu, protože právě z GitHubu budete nejdřív brát inspiraci a pak na něj nahrávat vlastní věci. Znovu poslouží freeCodeCamp, česky pak znovu Javorek.

Kniha Programátor pragmatik (její starší, ale relativně nadčasová verze vyšla i česky) má možná až zbytečně sofistikovaný název: v principu je o zdravých návycích při jakékoliv práci s počítačem, nejen programování. Oddělujte data a funkcionalitu, co nejvíc toho ukládejte do obyčejných textových souborů a tak dále.

Po čem jsem se rozkoukával dál

Knihu Grokking Algorithms jsem si pořídil v papíru a všude ji ukazuju jako příklad toho, jak se dá o relativně složitých věcech psát srozumitelně a poutavě. Ukáže vám, jak jde některé složitě vypadající programátorské problémy vyřešit snadno, a proč naopak některé zdánlivě jednoduché problémy dokonale vyřešit nejde. V ukázkách pracuje s Pythonem, ale poznatky jsou univerzální. (Mimochodem i další knihy z edice Grokking… vypadají super.)

Rád poslouchám podcasty Python Bytes a Talk Python to Me. Nabízejí vhled do spousty různých oborů, nejvíc mě bavilo povídání o využití Pythonu v automobilových závodech.

Co ze mě vypadlo

Od února jsem si tedy s Pythonem hrál jednu hodinu denně, výjimečně víc, ale nikdy celý den. I tímhle tempem toho šla do června stihnout spousta:

Přeju vám spoustu podobné zábavy, méně rutinní práce a krásný zbytek léta.

Kam dál? Ochutnejte Finmag newsletter:

Finmag na léto

Finmag předplatnéZdroj: Finmag

„Jsem mizerný makléř,“ řekl Adéle Vopěnkové Prokop Svoboda. A tak místo aby prodával domy sám, vybudoval realitní kancelář, kde to ostatní dělají za něj. A výborně.

FIN. Dominik Stroukal dodá investorům naději po propadu trhů • V kanceláři šéfky České spořitelny • V hlavě lovce jednorožců Andreje Kisky ml. • Jakub Žofčák o byznysu s deskovými hrami • Robert Vlach o creator economy a podnikání s obsahem

MAG. Parkování zdarma je lidské právo. Co z pravičáka dělá soudruha • Nejbližší moře? Pět hodin jízdy. Se správným bourákem. Na ropu • Jako umami. V restauraci Jana Knedly umějí moderně míchat chuti i v české klasice • Kardiochirurg. Srdcař. A překvapivě dobrý spisovatel Josef Veselka

Autor článku

Michal Kašpárek

Michal Kašpárek

Po studiu žurnalistiky a filmové vědy na Masarykově univerzitě prošel MF DNES a redakcemi Computer Pressu. Mezi lety 2009 a 2016 byl na volné noze, od roku 2017 do jara 2021 vedl Finmag.cz a editoval tištěný Finmag. Od jara 2021 edituje články datového týmu ČRo a píše komentáře pro Seznam Zprávy.