Programování

7 vynikajících knih v jazyce Python pro každou úroveň dovedností

Čím populárnější nebo výkonnější programovací jazyk, tím větší šance na nalezení nejen mnoha knih o něm, ale také rozmanitosti knih. Vzhledem k tomu, že Python prudce vzrostl v popularitě, rostl i počet a rozmanitost knih vytvořených za účelem pomoci lidem naučit se jazyk a zvládnout jeho složitost.

Zde je sedm nejlepších knih o programování v Pythonu, od průvodců pro začátečníky až po znalost Power-Pythonu. Ať už právě začínáte, nebo už nějakou dobu pracujete s Pythonem, je tu pro vás pravděpodobně kniha. Některé z nich jsou k dispozici zdarma v edicích online nebo PDF.

Automatizujte nudné věci pomocí Pythonu

Většina úvodů do programovacích jazyků nebo do programování obecně je konceptuální. Mluví o programování abstraktně. Rob SweigartAutomatizujte nudné věci pomocí Pythonu hovoří zejména o programování: Používá kurz v Pythonu jako způsob, jak se naučit, jak přeměnit zdlouhavé úkoly na šikovné skripty Pythonu.

Automatizovat je vhodný pro začátečníky v Pythonu a výpočetní techniku ​​obecně. Otevírá se tím, že čtenáři ulehčí jednoduché IDE (editor „Mu“), poté je provede pomocí vstupu, řízení toku, funkcí, kolekcí objektů (seznamy, slovníky), ověření vstupu a porovnávání vzorů a práce s soubory.

Druhá polovina knihy je více zaměřena na úkoly a projekty. Pokrývá běžné úlohy automatizace: práce s tabulkami a textovými dokumenty, odesílání e-mailů, manipulace s obrázky a automatizace interakcí s grafickým uživatelským rozhraním.

Co děláAutomatizovat cennou knihou pro začátečníky je to, jak se do ní začleňují projekty, které jsou vhodné pro současnou úroveň lekce - například jednoduchá (i když podrobná) hra s nůžkami na papír a papír pro výuku řízení toku nebo generátor prasečí latiny naučit manipulaci s řetězci. Trvá také čas znovu a znovu zmapovat, jak převést to, co chceme dělat (nejprve toto, pak toto, pak toto) do toho, co program dělá.

Automatizujte nudné věci pomocí Pythonu je k dispozici v několika formátech: bezplatné online vydání, ebook a tištěná vydání a kurz Udemy (50 videí).

Amazon: //www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922

Bajt Pythonu

„Nenáročné“ je nejlepší slovo k popisu Swaroop ChitlurBajt Pythonu. Je to snadno nejpřímější a nejpřístupnější průvodce po Pythonu, pokud je také jedním z nejméně zdobených. Nepoužívá triky, projekty ani roztomilé ilustrace, ale jejich vynechání je také jednou z jeho největších předností: mezi čtenářem a lekcemi nic nepřichází.

Kniha provede čtenáře nejprve nastavením a konfigurací instance Pythonu, poté použitím REPL a editoru (PyCharm tam získá většinu pokrytí). Odtud postupuje prostřednictvím proměnných a typů, operátorů, toku řízení, funkcí, modulů, datových struktur (včetně tříd, i když je zde celá kapitola o OOP), vstupů a výstupů, výjimek a rychlých přehledů pojmů, jako jsou porozumění seznamu a dekoratéry.

Kniha má několik drobných nevýhod. Jedním z nich je organizace: Vstupy a výstupy jsou zpracovávány poměrně pozdě, když je většina výukových programů učí mnohem dříve. Některé položky, které si zaslouží být v základním přehledu Pythonu, například kontextoví manažeři, nejsou vůbec zahrnuty. Ale jako celek je kniha dobrým úvodem do jazyka.

Bajt Pythonu je nominálně k dispozici zdarma jako webová kniha, ale je také k dispozici ke stažení ve formátu PDF a v tištěných kopiích. Existuje také mnoho překladů do jiných jazyků než angličtiny.

Amazon (pouze Kindle): //www.amazon.com/Byte-Python-Swaroop-C-H-ebook/dp/B00FJ7S2JU

Learning Python, 5. vydání

Programovací Python, 4. vydání

Pro naprostou komplexnost a vše v jednom nic nepřekoná Marka LutzeUčení jazyka Python aProgramování Pythonu. Obě knihy mají přes šestnáct set strankaždý, ale nenechte se vystrašit velikostí - jsou určeny k lokálnímu trávení, nikoli ke čtení end-to-end.

Téměř každé téma v Pythonu, od Pythonu 3.3, je pokrytoUčení jazyka Pythona pokryté vyčerpávající hloubkou. Pokud se například chcete dozvědět vše, co byste měli vědět o dekoratérech, představuje kapitola věnovaná tomuto tématu minikurz na toto téma.

Programování Pythonu je o používání Pythonu k vytváření aplikací v reálném světě. Spíše než jen ilustraci jazykových komponent zkoumá systémové programování, grafické uživatelské rozhraní, internetové klienty a servery, databáze, integraci s C a mnoho dalšího.

Největší nevýhoda Učení jazyka Python není jeho velikost, ale jeho věk. 5. vydání vyšlo v roce 2013 a zahrnuje jak Python 3.3, tak 2.7, takže nepokrývá mnoho významných inovací zavedených do Pythonu od té doby. Jak 2016, Lutz neměl žádné plány na jeho aktualizaci, částečně kvůli jeho dokumentovaným potížím s vydavatelem.

Amazon: //www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730; //www.amazon.com/Programming-Python-Powerful-Object-Oriented-dp-0596158106/dp/0596158106/

High Performance Python: Practical Performant Programming for Humans

Každý, kdo má na dálku zájem o rychlejší a efektivnější provozování Pythonu, by si měl tuto knihu přidat do své sbírky.

„Python“ a „vysoký výkon“ se často nemluví jedním dechem. To, co vám Python poskytuje v pohodlí, vám odnáší surová rychlost na úrovni stroje. To ale neznamená, že vysokorychlostní Python je nemožný; jako mnoho „nemožných“ věcí, vyžaduje to jen trochu více práce.

High Performance Python: Practical Performant Programming for Humans, Micha Gorelick a Ian Ozsvald, prochází zkušenými programátory Pythonu všemi způsoby, jak lze kód Pythonu zrychlit, od jednoduchých optimalizací čistého Pythonu až po vlastní vlastní kód C. Kniha začíná ponořením do profilování aplikací, klíčovou dovedností pro diagnostiku a opravu problémů s výkonem u jakékoli aplikace v Pythonu, poté postupně prozkoumá konkrétní optimalizace:

  • Získejte přístup k vzorům a výkonu velkých dat různých datových struktur, jako jsou seznamy versus slovníky a sady.
  • Jak lze generátory použít k uložení paměti pro velké výpočetní problémy.
  • Používání matic a vektorů - v podstatě úvod do používání NumPy a Pandas pro rychlejší matematiku.
  • Použití Cython, Numba, PyPy a dalších překladačů a modulů runtime třetích stran pro rychlost na úrovni stroje. Diskuse o každém z nich by mohla zabrat celou knihu (v případě Cythona ano), takže zde jsou zahrnuty pouze ty nejzákladnější a nejběžnější případy použití. Ale budete dobře připraveni na další učení.
  • Použití asynchronního programování k urychlení více operací závislých na I / O.
  • Použití více procesů, aby se zabránilo GIL, a použití klastrování a front úloh k dalšímu rozdělení práce.

Dlouhá kapitola je také věnována poznámkám o řešení problémů s výkonem Pythonu v reálném světě, včetně nasazení kanálů strojového učení. Druhé vydání knihy aktualizuje text pro nejnovější verze Pythonu a obsahuje materiál o práci s GPU.

Amazon: //www.amazon.com/High-Performance-Python-Performant-Programming/dp/1492055026/

Plynulý Python

Jakmile zvládnete základy, co dál?Plynulý Python odpovídá na tuto otázku.

Programátoři, kteří již v Pythonu vědí dost na to, aby mohli psát své vlastní programy, se často potýkají s přechodem do další fáze: využití jedinečné sady funkcí Pythonu k psaní skutečně výkonného softwaru.Plynulý Python, Luciano Ramalho, prochází programátorem mnoha klíčovými aspekty Pythonu, jak je využívají odborníci: osvojení datového modelu Pythonu a „dunder metody“, pokročilé používání sbírek dat, jako jsou sady a slovníky, vytváření objektů, které fungují jako záznamy (nejen třídy) , ale pojmenované n-tice a datové třídy), využívající funkce jako objekty, tipování typu a mnoho dalšího.

Zatímco některé materiály (např. Lambdas) nemusí být nové ani pro mírně zkušené programátory v Pythonu, kniha ukazuje, jak jsou tyto prvky cenné pro pokročilé programátory. I když jste tyto funkce Pythonu již dříve používali, v knize vám ukážeme, jak s nimi vytvořit robustnější programy a jak rozumně vybírat mezi podobnými alternativami (např. Strukturami a náhledy paměti) pro pokročilé práce.

V době psaní tohoto článku Fluent Python, 2. vydání je k dispozici jako koncept předčasného vydání s členstvím v O’Reilly, nebo si jej lze předobjednat na Amazonu.

Amazon: //www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1492056359

Mysli na Pythona

Podtitul této knihy je „How To Think Like A Computer Scientist“, což vám dá náznak záměrů této knihy. Mysli na Pythona, Allen B. Downey, je průvodce výukou jazyka Python zaměřený na úplné začátečníky, ale jeho větším cílem je pomoci čtenáři pochopit, o čem je programování, co znamená být programátorem a proč počítačové programy fungují tak, jak fungují . Python je jen aréna, ve které jsou tyto myšlenky zkoumány. Vzhledem k tomu, jak snadné je naučit se Python, je to rozumná volba.

Mysli na Pythona začíná formálními koncepty - co je program, jaké jsou vstupy a výstupy, jaké jsou typy a hodnoty a jak programy zacházejí s informacemi v těchto termínech. Odtamtud se kniha posouvá k tomu, jak fungují příkazy a příkazy operace a jak lze příkazy spojit dohromady do výrazů a funkcí. Zpracování a řízení stavu, iterace, typy kolekcí (řetězce, seznamy, slovníky), vstupně-výstupní operace se soubory, třídy a dědičnost, spolu s řadou užitečných funkcí Pythonu označených jako „Goodies“, dostávají všechny své vlastní kapitoly.

Co je nejatraktivnějšíMysli na Pythona, na rozdíl od jeho jasného a přímého jazyka, je to, jak neustále spojuje každou část informací s ústředními tématy, jak fungují počítače a počítačové programy, a jaké techniky se používají v programování k dosažení toho, čeho je dosaženo. Pro nováčky je to důležitější, než si na první pohled uvědomili.

Mysli na Pythonaje k dispozici jako bezplatná elektronická kniha ve formátu PDF nebo HTML.

Amazon: //www.amazon.com/gp/product/1491939362