Programmering

7 suverene Python-bøker for hvert ferdighetsnivå

Jo mer populært eller kraftigere et programmeringsspråk, jo bedre er sjansen for å finne ikke bare mange bøker om det, men et mangfold av bøker. Etter hvert som Python har steget i popularitet, har antallet og mangfoldet av bøkene også blitt opprettet for å hjelpe folk å lære språket og mestre dets forviklinger.

Her er syv av de beste bøkene om programmering med Python, alt fra nybegynnerveiledninger til power-Python-ferdigheter. Enten du nettopp har begynt, eller du har jobbet med Python i noen tid, er det mest sannsynlig en bok her for deg. Noen få er tilgjengelig i online- eller PDF-utgaver gratis.

Automatiser kjedelige ting med Python

De fleste introduksjoner til programmeringsspråk, eller til programmering generelt, er konseptuelle. De snakker om programmering abstrakt. Rob Sweigart’sAutomatiser kjedelige ting med Python snakker om programmering i særdeleshet: Det bruker et kurs i Python som en måte å lære hvordan du kan gjøre kjedelige oppgaver til snappy Python-skript.

Automatiser er begynt på nybegynnere til Python og databehandling generelt. Det åpnes ved å gjøre leseren komfortabel med en enkel IDE (“Mu” -editoren), og deretter trinnvise dem gjennom bruk av inngang, strømningskontroll, funksjoner, objektsamlinger (lister, ordbøker), validering av inngangs- og mønstermatching, og arbeid med filer.

Andre halvdel av boka er mer oppgave- og prosjektorientert. Den dekker vanlige automatiseringsoppgaver: arbeide med regneark og tekstdokumenter, sende e-post, manipulere bilder og automatisere GUI-interaksjoner.

Hva gjørAutomatiser en verdifull nybegynnerbok er hvordan den ruller inn, underveis, prosjekter som passer til det nåværende leksjonsnivået - for eksempel et enkelt (om enn ordentlig) steinpapir-saksespill for å lære strømningskontroll, eller en Pig Latin-generator å lære strengmanipulasjon. Det tar også tid å kartlegge, igjen og igjen, hvordan vi skal oversette det vi vil gjøre (først dette, så dette, så dette) til det programmet gjør.

Automatiser kjedelige ting med Python er tilgjengelig i flere formater: en gratis online-utgave, e-bok og trykte utgaver, og et Udemy-kurs (50 videoer).

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

En byte av Python

“Upretensiøs” er det beste ordet for å beskrive Swaroop Chitlur’sEn byte av Python. Det er lett den mest enkle og tilgjengelige guiden til Python rundt, om den også er en av de minst pyntede. Den bruker ikke gimmicks, prosjekter eller søte illustrasjoner, men å utelate dem er også blant de største styrkene: ingenting kommer mellom leseren og leksjonene.

Boken guider leseren først gjennom oppsett og konfigurering av en Python-forekomst, deretter bruk av REPL og en redaktør (PyCharm får mesteparten av dekningen der). Derfra går den gjennom variabler og typer, operatorer, kontrollflyt, funksjoner, moduler, datastrukturer (inkludert klasser, selv om det er et fullstendig kapittel om OOP), I / O, unntak og raske oversikter over forestillinger som listeforståelse og dekoratører.

Boken har noen små ulemper. Den ene er organisering: Inngang og utgang håndteres ganske sent, når de fleste opplæringene lærer det mye tidligere. Også noen elementer som fortjener å være i en grunnleggende Python-oversikt, som kontekstledere, blir ikke dekket i det hele tatt. Men som en helhet er boken en god introduksjon til språket.

En byte av Python er nominelt tilgjengelig gratis som en nettbasert bok, men er også tilgjengelig som PDF-nedlasting og i trykte papirutgaver. Mange oversettelser til andre språk enn engelsk eksisterer også.

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

Learning Python, 5. utgave

Programming Python, 4. utgave

For ren forståelse og alt-i-ett-ness, slår ingenting Mark LutzLære Python ogProgrammering av Python. Begge bøkene er på over seksten hundre siderHver, men ikke la størrelsen skremme deg - de er ment å fordøyes lokalt, i stedet for å lese fra ende til annen.

Omtrent hvert emne i Python, fra og med Python 3.3, er dekket avLære Python, og dekket av uttømmende dybde. Hvis du for eksempel vil lære alt du kan vite om dekoratører, utgjør kapittelet om dette emnet et minikurs om emnet.

Programmering av Python handler om å bruke Python til å bygge virkelige applikasjoner. I stedet for bare å illustrere språkets komponenter, utforsker det systemprogrammering, GUIer, Internett-klienter og servere, databaser, integrering med C og mye mer.

Den største ulempen med Lære Python er ikke størrelsen, men alderen. Den 5. utgaven kom ut i 2013, og dekker både Python 3.3 og 2.7, så dekker ikke mange av de viktige innovasjonene som har blitt rullet inn i Python siden den gang. Fra og med 2016 hadde Lutz ingen planer om å oppdatere den, delvis på grunn av sine dokumenterte vanskeligheter med forlaget.

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: Praktisk performant programmering for mennesker

Alle som er interessert i å gjøre Python raskere eller mer effektiv, bør legge denne boken til samlingen sin.

“Python” og “høy ytelse” blir ikke ofte uttalt i samme åndedrag. Hva Python gir deg praktisk, tar det bort i rå hastighet på maskinnivå. Men det betyr ikke at høyhastighets Python er umulig; som mange “umulige” ting, tar det bare litt mer arbeid.

High Performance Python: Praktisk performant programmering for mennesker, av Micha Gorelick og Ian Ozsvald, går erfarne Python-programmerere gjennom alle måtene Python-kode kan gjøres raskere, fra enkle pure-Python-optimaliseringer til rullende tilpasset C-kode. Boken begynner med et dykk inn i applikasjonsprofilering, en nøkkelferdighet for å diagnostisere og korrigere ytelsesproblemer med en hvilken som helst Python-app, og utforsker deretter spesifikke optimaliseringer i sin tur:

  • Få tilgang til mønstre og stor-O ytelse for forskjellige datastrukturer, som lister versus ordbøker og sett.
  • Hvordan generatorer kan brukes til å spare minne for store beregningsproblemer.
  • Bruke matriser og vektorer - i hovedsak en introduksjon til bruk av NumPy og Pandas for raskere matematikk.
  • Bruker Cython, Numba, PyPy og andre tredjeparts kompilatorer og kjøretider for hastighet på maskinnivå. En diskusjon av hver av dem kan okkupere en hel bok (i tilfelle Cython gjør det) av seg selv, så bare de mest grunnleggende og vanlige brukssakene blir dekket her. Men du vil være godt forberedt på videre læring.
  • Bruke asynkron programmering for å øke hastigheten på flere I / O-avhengige operasjoner.
  • Ved å bruke multibearbeiding for å unngå GIL, og bruke klynging og jobbkøer for å dele opp arbeidet ytterligere.

Et langt kapittel er også tatt opp med notater om løsninger på virkelige Python-ytelsesproblemer, inkludert distribusjon av maskinlæringsrørledninger. Den andre utgaven av boken oppdaterer teksten til de nyeste versjonene av Python, og inneholder materiale om arbeid med GPUer.

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

Flytende Python

Når du har mestret det grunnleggende, hva neste?Flytende Python svarer på det spørsmålet.

Programmerere som allerede vet nok Python til å skrive sine egne programmer, sliter ofte med å komme til neste trinn: å bruke Pythons unike funksjonssett til å skrive virkelig kraftig programvare.Flytende Python, av Luciano Ramalho, går programmereren gjennom mange viktige aspekter av Python som utnyttet av eksperter: mestring av Python-datamodellen og "dunder-metoder", avansert bruk av datasamlinger som sett og ordbøker, og skaper objekter som fungerer som poster (ikke bare klasser , men navngitte tupler og dataklasser), ved å bruke funksjoner som objekter, type hinting og mye mer.

Mens noe av materialet (f.eks. Lambdas) kanskje ikke er nytt for engang moderat erfarne Python-programmerere, viser boken hvordan disse elementene er verdifulle for avanserte programmerere. Selv om du har brukt disse Python-funksjonene før, vil boken vise deg hvordan du bygger mer robuste programmer med dem, og hvordan du kan velge klokt mellom lignende alternativer (f.eks. Strukturer og minnevisninger) for avansert arbeid.

Når dette skrives, Fluent Python, 2. utgave er tilgjengelig som et tidlig utgivelsesutkast med et O'Reilly-medlemskap, eller det kan forhåndsbestilles på Amazon.

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

Tenk Python

Undertittelen til denne boken er "How To Think Like A Computer Scientist", som gir deg et snev av bokens intensjoner. Tenk Python, av Allen B. Downey, er en guide til å lære Python rettet mot totalt nybegynnere, men det større målet er å hjelpe leseren til å forstå hva programmering handler om, hva det vil si å være programmerer, og hvorfor dataprogrammer fungerer slik de gjør . Python er bare arenaen der ideene blir utforsket. Gitt hvor enkelt Python er å lære, er det et fornuftig valg.

Tenk Python begynner med formelle konsepter - hva er et program, hva er input og output, hva er typer og verdier, og hvordan programmer håndterer informasjon i disse termer. Derfra går boka videre til hvordan uttalelser og operasjonsordrer fungerer, og hvordan uttalelser kan strammes sammen til uttrykk og funksjoner. Tilstandshåndtering og kontrollflyt, iterasjon, samlingstyper (strenger, lister, ordbøker), fil I / O, klasser og arv, sammen med en rekke nyttige Python-funksjoner merket "Goodies", mottar alle kapitler av seg selv.

Hva er mest tiltalendeTenk Python, bortsett fra det klare og direkte språket, er hvordan det kontinuerlig forholder hver informasjonsbit til de sentrale temaene for hvordan datamaskiner og dataprogrammer fungerer, og hvilke teknikker som brukes i programmering for å oppnå det som ender. For nykommere er dette viktigere enn de kanskje først skjønte.

Tenk Pythoner tilgjengelig som en gratis eBok i PDF- eller HTML-format.

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

$config[zx-auto] not found$config[zx-overlay] not found