7 izvrsnih Python knjiga za svaku razinu vještine

Što je popularniji ili moćniji programski jezik, to su veće šanse za pronalazak ne samo mnogih knjiga o njemu, već i raznolikosti knjiga. Kako se Python povećavao u popularnosti, tako se povećavao i broj i raznolikost knjiga stvorenih da pomognu ljudima da nauče jezik i savladaju njegove zamršenosti.

Evo sedam najboljih knjiga o programiranju s Pythonom, u rasponu od početničkih vodiča do Power-Pythona. Bez obzira da li tek započinjete ili već neko vrijeme radite s Pythonom, najvjerojatnije ovdje postoji knjiga za vas. Nekoliko ih je besplatno dostupno u internetskim ili PDF izdanjima. 

Automatizirajte dosadne stvari s Pythonom

Većina uvoda u programske jezike ili u programiranje općenito konceptualni su. O programiranju govore apstraktno. Rob Sweigart u Automatizirajte dosadne stvari s Pythonom   govori o programiranju: Koristi tečaj na Pythonu kao način da nauči kako pretvoriti dosadne zadatke u brze Pythonove skripte.

Automatizirajte  početnike na Python i računanje općenito. Otvara se tako što čitatelju olakšava jednostavni IDE ("Mu" editor), a zatim ih korača kroz upotrebu unosa, kontrolu protoka, funkcije, zbirke objekata (popisi, rječnici), provjeru valjanosti unosa i uzorka te rad s datoteke.

Druga polovica knjige više je usmjerena na zadatke i projekte. Obuhvaća uobičajene zadatke automatizacije: rad s proračunskim tablicama i tekstualnim dokumentima, slanje e-pošte, manipuliranje slikama i automatizaciju GUI interakcija.

Ono što Automate čini   vrijednom knjigom za početnike je kako ona tijekom cijelog puta uključuje projekte koji odgovaraju trenutnoj razini lekcije - poput jednostavne (iako opširne) igre kamen-papir-škare za podučavanje kontroli protoka ili Svinjski latinski generator za podučavanje manipulaciji žicama. Također treba vremena da se iznova i iznova načini kako prevesti ono što želimo učiniti (prvo ovo, pa ovo, pa ovo) u ono što program radi.

Automatizirajte dosadne stvari s Pythonom  dostupan je u više formata: besplatno internetsko izdanje, e-knjige i tiskana izdanja te tečaj Udemy (50 videozapisa).

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

Bajt Pythona

“Nepretenciozan” je najbolja riječ koja opisuje Pythonov bajt Swaroop Chitlura  . To je najjednostavniji i najpristupačniji vodič za Python, ako je i jedan od najmanje ukrašenih. Ne koristi trikove, projekte ili slatke ilustracije, ali izostavljanje ih je također jedna od njegovih najvećih snaga: ništa ne dolazi između čitatelja i lekcija.

Knjiga vodi čitatelja najprije kroz postavljanje i konfiguriranje instance Pythona, a zatim upotrebu REPL-a i uređivača (PyCharm tamo dobiva većinu pokrića). Odatle korača kroz varijable i tipove, operatore, tijek upravljanja, funkcije, module, strukture podataka (uključujući klase, iako postoji cijelo poglavlje o OOP-u), I / O, iznimke i brzi pregled pojmova poput razumijevanja popisa i dekoratera.

Knjiga ima nekoliko manjih nedostataka. Jedno je organizacija: unosom i izlazom obrađuje se prilično kasno, kada ga većina tutorijala podučava mnogo ranije. Također, neke stavke koje zaslužuju biti u osnovnom Pythonovom pregledu, poput upravitelja konteksta, uopće nisu obuhvaćene. Ali u cjelini, knjiga je dobar uvod u jezik.

Byte of Python  nominalno je besplatno dostupan kao internetska knjiga, ali dostupan je i kao PDF za preuzimanje i u tiskanim tiskanim primjercima. Postoje i mnogi prijevodi na jezike koji nisu engleski.

Amazon (samo Kindle): //www.amazon.com/Byte-Python-Swaroop-CH-ebook/dp/B00FJ7S2JU

Učenje Pythona, 5. izdanje

Programiranje Pythona, 4. izdanje

Zbog pune sveobuhvatnosti i sve-u-jednom-ništa, ništa ne može nadmašiti Learning Python  i  Programming Python Marka Lutza  . Obje knjige su više od šesnaest stotina stranica  svaki , ali ne dopustite vas veličina prestrašiti - oni su trebali biti probavljena lokalno, nego čitanje s kraja na kraj.

Gotovo svaka tema u Pythonu, od Pythona 3.3, obrađena je u  Learning Pythonu i iscrpno. Ako, na primjer, želite naučiti sve što treba znati o dekoratorima, poglavlje o toj temi predstavlja mini tečaj na tu temu.

Programiranje Pythona  odnosi se na korištenje Pythona za izgradnju stvarnih aplikacija. Umjesto da samo ilustrira komponente jezika, on istražuje programiranje sustava, GUI-je, internetske klijente i poslužitelje, baze podataka, integraciju s C i još mnogo toga.

Najveća loša strana učenja Pythona  nije njegova veličina, već dob. Peto izdanje izašlo je 2013. godine, pokrivajući i Python 3.3 i 2.7, tako da ne pokriva mnoge značajne inovacije uvedene u Python od tada. Od 2016. godine Lutz ga nije planirao ažurirati, dijelom i zbog dokumentiranih poteškoća s izdavačem. 

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

Python visokih performansi: praktično izvedbeno programiranje za ljude

Svatko tko je iz daljine zainteresiran za brži ili učinkovitiji Python trebao bi dodati ovu knjigu u svoju zbirku.

"Python" i "visoke performanse" ne govore se često u istom dahu. Ono što vam Python pruža u praktičnosti, oduzima u sirovoj brzini na razini stroja. Ali to ne znači da je brzi Python nemoguć; kao i mnoge "nemoguće" stvari, potrebno je samo malo više posla.

Python visokih performansi: Praktično izvedbeno programiranje za ljude , Michaa Gorelicka i Iana Ozsvalda, provodi iskusne programere Pythona kroz sve načine na koje se Python kôd može ubrzati, od jednostavnih pure-python optimizacija do valjanog C koda. Knjiga započinje zaromom u profilisanje aplikacija, ključnu vještinu za dijagnosticiranje i ispravljanje problema s performansama bilo koje aplikacije Python, a zatim istražuje određene optimizacije:

  • Obrasci pristupa i velike performanse različitih struktura podataka, poput popisa nasuprot rječnika i skupova.
  • Kako se generatori mogu koristiti za spremanje memorije za velike računske probleme.
  • Korištenje matrica i vektora - u osnovi uvod u upotrebu NumPy i Pandas za bržu matematiku.
  • Korištenje Cython-a, Numbe, PyPy-a i drugih nezavisnih kompajlera i vremena izvođenja za brzinu na razini stroja. Rasprava o svakom od njih mogla bi zauzeti cijelu vlastitu knjigu (u slučaju Cythona to čini), pa su ovdje obrađeni samo najosnovniji i najčešći slučajevi upotrebe. Ali bit ćete dobro pripremljeni za daljnje učenje.
  • Korištenje asinkronog programiranja za ubrzavanje višestrukih I / O ovisnih operacija.
  • Korištenje višeprocesiranja kako bi se izbjegao GIL, a korištenje klasterizacije i redova poslova za daljnju podjelu posla.

Opsežno poglavlje je također preuzeto s bilješkama o rješenjima stvarnih problema s performansama Pythona, uključujući postavljanje cjevovoda za strojno učenje. Drugo izdanje knjige ažurira tekst za najnovije verzije Pythona i uključuje materijal o radu s GPU-ima.

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

Tečni Python

Jednom kad savladate osnove, što dalje? Tečni Python  odgovara na to pitanje.

Programeri koji već znaju dovoljno Pythona za pisanje vlastitih programa često se muče s prelaskom u sljedeću fazu: koristeći jedinstveni Pythonov skup značajki za pisanje uistinu moćnog softvera.  Tečni Python , Luciano Ramalho, vodi programera kroz mnoge ključne aspekte Pythona, kako su ga iskoristili stručnjaci: svladavanje Python modela podataka i „dunder metode“, napredna upotreba zbirki podataka poput skupova i rječnika, stvaranje objekata koji rade kao zapisi (ne samo klase, ali imenovane korice i klase podataka), koristeći funkcije kao objekte, nagovještavanje tipova i još mnogo toga.

Iako neki od materijala (npr. Lambda) možda nisu novi čak ni za umjereno iskusne programere Pythona, knjiga pokazuje kako su ovi elementi vrijedni naprednim programerima. Čak i ako ste već koristili ove Python značajke, knjiga će vam pokazati kako s njima graditi robusnije programe i kako pametno birati između sličnih alternativa (npr. Strukture i prikazi memorije) za napredni rad.

Od ovog pisanja, Fluent Python, 2. izdanje  dostupan je kao nacrt za rano izdanje s članstvom u O'Reillyju ili se može predbilježiti na Amazonu.

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

Razmislite o Pythonu

Podnaslov ove knjige je "Kako razmišljati poput informatičara", što vam daje naslutiti namjere knjige. Mislite da je Python , autor Allena B. Downeya, vodič za učenje Pythona namijenjen totalnim početnicima, ali njegov je veći cilj pomoći čitatelju da razumije o čemu se radi u programiranju, što znači biti programer i zašto računalni programi funkcioniraju na način oni čine. Python je samo područje u kojem se te ideje istražuju. S obzirom na to kako je Python lako naučiti, to je razuman izbor.

Mislite da Python  započinje formalnim konceptima - što je program, što su ulazni i izlazni podaci, koje su vrste i vrijednosti i kako se programi bave informacijama u tim terminima. Odatle knjiga prelazi na to kako iskazi i redoslijedi rada funkcioniraju i kako se iskazi mogu povezati u izraze i funkcije. Rukovanje uvjetima i tijek kontrole, ponavljanje, vrste zbirki (nizovi, popisi, rječnici), I / O datoteke, klase i nasljeđivanje, zajedno s mnoštvom korisnih Pythonovih značajki označenih kao "Dobrote", sva primaju vlastita poglavlja.

Ono što je najzanimljivije u vezi s  Think Pythonom , osim njegovog jasnog i izravnog jezika, jest kako neprestano povezuje svaki dio informacija sa središnjim temama rada računala i računalnih programa te koje se tehnike koriste u programiranju da bi se postiglo što postiže. Za pridošlice je ovo važnije nego što bi u početku mogli shvatiti.

Think Python  dostupan je kao besplatna e-knjiga u PDF ili HTML formatu. 

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