Ohjelmointi

7 upeaa Python-kirjaa jokaiselle taitotasolle

Mitä suositumpi tai tehokkaampi ohjelmointikieli on, sitä paremmat mahdollisuudet löytää paitsi monia kirjoja siitä, että kirjat ovat monipuolisia. Pythonin suosion noustessa on kasvanut niiden kirjojen lukumäärä ja valikoima, jotka on luotu auttamaan ihmisiä oppimaan kieltä ja hallitsemaan sen monimutkaisuutta.

Tässä on seitsemän parasta kirjaa Pythonin ohjelmoinnista aina aloittelijan oppaista power-Python-taitoon. Olitpa vasta aloittamassa tai olet työskennellyt Pythonin kanssa jonkin aikaa, tässä on todennäköisesti kirja sinulle. Jotkut ovat saatavilla ilmaiseksi online- tai PDF-versioina.

Automatisoi tylsät jutut Pythonilla

Suurin osa ohjelmointikielten tai yleensä ohjelmoinnin johdannoista on käsitteellisiä. He puhuvat ohjelmoinnista abstraktisti. Rob SweigartinAutomatisoi tylsät jutut Pythonilla puhuu ohjelmoinnista erityisesti: Se käyttää Python-kurssia keinona oppia muuttamaan tylsiä tehtäviä röyhkeiksi Python-skripteiksi.

Automatisoida on Pythonin aloittelijoille ja yleensä laskennalle. Se avautuu lukijalle mukavaksi yksinkertaisella IDE: llä (“Mu” -editorilla), ja opastaa ne sitten syötteen, virtauksen ohjauksen, toimintojen, objektikokoelmien (luettelot, sanakirjat), validoimalla syötteen ja kuvion sovituksen sekä työskentelemällä tiedostot.

Kirjan toinen puoli on enemmän tehtävä- ja projektihakuinen. Se kattaa yleiset automatisointitehtävät: laskentataulukoiden ja tekstidokumenttien käsittely, sähköpostien lähettäminen, kuvien käsittely ja graafisen käyttöliittymän vuorovaikutusten automatisointi.

Mikä tekeeAutomatisoida arvokas aloittelijan kirja on se, miten se kulkee matkan varrella projektiin, jotka soveltuvat nykyiselle oppitunnille - kuten yksinkertainen (vaikkakin sanallinen) kallio-paperi-saksispeli virtauksen ohjaamiseksi tai Pig Latin -generaattori opettaa merkkijonon manipulointia. Se vie myös aikaa kartoittaa uudestaan ​​ja uudestaan, kuinka kääntää mitä haluamme tehdä (ensin tämä, sitten tämä, sitten tämä) ohjelman tekemäksi.

Automatisoi tylsät jutut Pythonilla on saatavana useissa muodoissa: ilmainen verkkopainos, e-kirja- ja painosversiot sekä Udemy-kurssi (50 videota).

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

Python-tavu

"Vaatimaton" on paras sana kuvaamaan Swaroop ChitlurinPython-tavu. Se on helposti yksinkertaisin ja helpoin opas Pythonille, jos se on myös yksi vähiten koristeltuista. Siinä ei käytetä temppuja, projekteja tai söpöjä kuvituksia, mutta niiden jättäminen on myös sen suurimpia vahvuuksia: lukijan ja oppituntien välillä ei ole mitään.

Kirja opastaa lukijan ensin Python-esiintymän asetusten määrittämisessä ja sen jälkeen REPL: n ja editorin käytössä (PyCharm saa suurimman osan kattavuudesta siellä). Sieltä se siirtyy muuttujien ja tyyppien, operaattoreiden, ohjauksen kulun, toimintojen, moduulien, tietorakenteiden (mukaan lukien luokat, vaikka OOP: sta on koko luku), I / O: n, poikkeusten ja nopeiden yleiskatsaus käsitteiden, kuten luettelon ymmärtämisen ja sisustajien, välillä.

Kirjassa on muutamia pieniä haittoja. Yksi on organisaatio: Input ja output käsitellään melko myöhään, kun useimmat opetusohjelmat opettavat sitä paljon aikaisemmin. Jotkin kohteet, jotka ansaitsevat olla Pythonin perustiedot, kuten kontekstinhallinta, eivät kuulu ollenkaan. Mutta kokonaisuutena kirja on hyvä ei-tavallinen esittely kielelle.

Python-tavu on nimellisesti saatavana ilmaiseksi web-pohjaisena kirjona, mutta se on saatavana myös PDF-tiedostona ja painettuna paperiversiona. On olemassa myös monia käännöksiä muille kielille kuin englanniksi.

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

Oppiminen Python, 5. painos

Ohjelmointi Python, 4. painos

Pelkän kattavuuden ja kaikki yhdessä -ominaisuuden vuoksi mikään ei voita Mark LutziaPythonin oppiminen jaPythonin ohjelmointi. Molemmat kirjat ovat yli kuusisataa sivuakukin, mutta älä anna koon pelottaa sinua - ne on tarkoitettu hajottamaan paikallisesti, eikä lukemaan päästä päähän.

Lähes kaikki Pythonin aiheet, kuten Python 3.3, on käsiteltyPythonin oppiminenja peitetty tyhjentävästi. Jos haluat oppia kaiken, mitä esimerkiksi sisustajista tiedetään, kyseistä aihetta käsittelevä luku muodostaa aiheesta pienikurssin.

Pythonin ohjelmointi on Pythonin avulla reaalimaailman sovelluksia. Sen sijaan, että kuvaat vain kielen osia, se tutkii järjestelmän ohjelmointia, käyttöliittymiä, Internet-asiakkaita ja palvelimia, tietokantoja, integrointia C: n kanssa ja paljon muuta.

Suurin haittapuoli Pythonin oppiminen ei ole sen koko, vaan ikä. Viides painos ilmestyi vuonna 2013, ja se kattoi sekä Python 3.3: n että 2.7: n, joten se ei kata monia merkittäviä innovaatioita, joita Python on tuolloin tuonut markkinoille. Vuodesta 2016 Lutzilla ei ollut aikomusta päivittää sitä, osittain johtuen dokumentoiduista vaikeuksista julkaisijan kanssa.

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

Suorituskykyinen Python: käytännöllinen esittäjän ohjelmointi ihmisille

Kaikkien, jotka ovat kiinnostuneita Pythonin nopeuttamisesta tai tehostamisesta, tulisi lisätä tämä kirja kokoelmaansa.

"Pythonia" ja "korkeaa suorituskykyä" ei usein puhuta samassa hengityksessä. Mitä Python tarjoaa sinulle kätevästi, se vie raakana konetasolla. Mutta se ei tarkoita, että nopea Python olisi mahdotonta; kuten monet "mahdottomat" asiat, se vie vain vähän enemmän työtä.

Suorituskykyinen Python: käytännöllinen esittäjän ohjelmointi ihmisille, Micha Gorelick ja Ian Ozsvald, kävelee kokeneilla Python-ohjelmoijilla läpi kaikkien tapojen, joilla Python-koodi voidaan tehdä nopeammin, yksinkertaisista puhtaista Python-optimoinnista mukautettuun C-koodiin. Kirja alkaa sukelluksella sovellusten profilointiin, joka on keskeinen taito minkä tahansa Python-sovelluksen suorituskykyongelmien diagnosointiin ja korjaamiseen, ja sitten tutkitaan vuorotellen tiettyjä optimointeja:

  • Eri tietorakenteiden käyttömallit ja iso-O-suorituskyky, kuten luettelot sanakirjoihin ja sarjoihin verrattuna.
  • Kuinka generaattoreita voidaan käyttää muistin säästämiseen suurissa laskennallisissa ongelmissa.
  • Matriisien ja vektoreiden käyttö - pohjimmiltaan johdanto NumPyn ja Pandojen käyttämiseen nopeammin matematiikassa.
  • Cythonin, Numban, PyPyn ja muiden kolmannen osapuolen kääntäjien ja ajonaikojen käyttäminen konetason nopeudelle. Keskustelu jokaisesta näistä voisi olla koko oma kirja (Cythonin tapauksessa niin), joten tässä käsitellään vain perustavanlaatuisimmat ja yleisimmät käyttötapaukset. Mutta olet hyvin valmistautunut jatkokoulutukseen.
  • Asynkronisen ohjelmoinnin käyttäminen useiden I / O-riippuvien toimintojen nopeuttamiseksi.
  • Moniprosessoinnin käyttäminen GIL: n välttämiseksi ja klustereiden ja työjonojen käyttäminen työn jakamiseksi edelleen.

Pidennetty luku sisältää myös huomautuksia todellisten Python-suorituskykykysymysten ratkaisuista, mukaan lukien koneoppimisputkien käyttöönotto. Kirjan toinen painos päivittää Pythonin uusimpien versioiden tekstin ja sisältää materiaalia grafiikkasuoritinten kanssa työskentelystä.

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

Sujuva Python

Kun olet oppinut perusasiat, mitä seuraavaksi?Sujuva Python vastaa tähän kysymykseen.

Ohjelmoijat, jotka jo tuntevat tarpeeksi Pythonin omien ohjelmiensa kirjoittamiseen, kamppailevat usein seuraavaan vaiheeseen: Pythonin ainutlaatuisten ominaisuuksien avulla todella tehokkaiden ohjelmistojen kirjoittamiseen.Sujuva Python, Luciano Ramalho, opastaa ohjelmoijaa läpi monia Pythonin tärkeimpiä näkökohtia asiantuntijoiden hyödyntämällä: Python-tietomallin ja "hämmentämismenetelmien" hallitseminen, tietokokoelmien, kuten sarjoiden ja sanakirjojen, edistynyt käyttö, luomalla esineitä, jotka toimivat tietueina (ei vain luokkina) , mutta nimetty joukot ja tietoluokat), käyttämällä funktioita objekteina, tyyppivihjeitä ja paljon muuta.

Vaikka osa materiaalista (esim. Lambdas) ei ehkä ole uusi edes kohtalaisen kokeneille Python-ohjelmoijille, kirja osoittaa kuinka nämä elementit ovat arvokkaita edistyneille ohjelmoijille. Vaikka olisit käyttänyt näitä Python-ominaisuuksia aiemmin, kirja näyttää kuinka rakentaa vankempia ohjelmia niiden kanssa ja kuinka valita viisaasti vastaavien vaihtoehtojen (esim. Rakenteet ja muistikuvat) välillä edistyneelle työlle.

Tämän kirjoituksen jälkeen Sujuva Python, 2. painos on saatavana ennakkojulkaisuna O’Reilly-jäsenyydellä tai sen voi tilata ennakkoon Amazonista.

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

Ajattele Pythonia

Tämän kirjan alaotsikko on "Kuinka ajatella kuin tietokonetieteilijä", joka antaa sinulle vihjeen kirjan aikomuksista. Ajattele Pythonia, Allen B.Downey, on opas Pythonin oppimiseen, joka on tarkoitettu aloittelijoille, mutta sen suurempi tavoite on auttaa lukijaa ymmärtämään, mitä ohjelmointi tarkoittaa, mitä ohjelmoijana oleminen tarkoittaa ja miksi tietokoneohjelmat toimivat samalla tavalla kuin he tekevät . Python on vain areena, jossa noita ideoita tutkitaan. Ottaen huomioon kuinka helppoa Python on oppia, se on järkevä valinta.

Ajattele Pythonia alkaa muodollisilla käsitteillä - mikä on ohjelma, mitkä ovat panos ja tuotos, mitkä tyypit ja arvot ja miten ohjelmat käsittelevät tietoa näillä termeillä. Sieltä kirja siirtyy eteenpäin siihen, miten lausunnot ja toimintamääräykset toimivat ja miten lausunnot voidaan yhdistää lausekkeiksi ja funktioiksi. Ehdon käsittely ja ohjauksen kulku, iterointi, kokoelmatyypit (merkkijonot, luettelot, sanakirjat), tiedoston I / O, luokat ja perintö sekä joukko hyödyllisiä Python-ominaisuuksia, jotka on merkitty ”Goodies”, saavat kaikki omat lukunsa.

Mikä on houkuttelevintaAjattele Pythonia, sen selkeän ja suoran kielen lisäksi, miten se yhdistää jatkuvasti jokaisen informaation bitin keskeisiin aiheisiin siitä, miten tietokoneet ja tietokoneohjelmat toimivat, ja mitä tekniikoita käytetään ohjelmoinnissa tavoitteiden saavuttamiseksi. Uusille tulijoille tämä on tärkeämpää kuin he aluksi ymmärtäisivät.

Ajattele Pythoniaon saatavana ilmainen e-kirja PDF- tai HTML-muodossa.

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