ebook img

Python: Escreva seus primeiros programas PDF

258 Pages·2015·0.93 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Python: Escreva seus primeiros programas

© CasadoCódigo Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhumapartedestelivropoderáserreproduzida,nemtransmitida,sem autorização prévia por escrito da editora, sejam quais forem os meios: fotográficos,eletrônicos,mecânicos,gravaçãoouquaisqueroutros. CasadoCódigo Livrosparaoprogramador RuaVergueiro,3185-8ºandar 04101-300–VilaMariana–SãoPaulo–SP–Brasil CasadoCódigo Prefácio Pythonéumalinguagemdeprogramaçãoquevemsendoempregadanacons- truçãodesoluçõesparaosmaisdiversosfins educacionais,comerciaisecien- tíficos eplataformas web,desktope,maisrecentemente,móvel. Éumalin- guagemdefácilaprendizado,expressiva,concisaemuitoprodutiva;porisso, suaadoçãotemcrescidobastantenosúltimosanospelosmaisvariadosperfis deprofissionaisnomeiocientíficoeacadêmico,tantoparadesenvolvimento deferramentasquantoparaensinodealgoritmoseintroduçãoàprograma- ção. É uma linguagem de uso gratuito e de código-fonte aberto, compatível comosprincipaissistemasoperacionais,como:Linux,OSX,Windows,BSDs etc.Elacontacomumavastabibliotecapadrãoedocumentaçãoquepossibi- litamquemuitascoisassejamfeitassemdependênciasadicionais. Apesar de ser simples de aprender, Python é uma linguagem bastante poderosa e flexível. Essa combinação resulta em um rico ecossistema que melhoraaprodutividadedosdesenvolvedores. Issotudotornaadecisãode aprenderPythonimportantíssima,poismuitoshorizontesabrem-sequando sedominaumalinguagemcomecossistematãopoderosoquantoodela. Sevocêestálendoestelivro,possivelmenteseinteressouporPythonem algum momento. Então, espero que ele possa contribuir, de alguma forma, comoseuaprendizado.Olivroapresentaalinguagemdeumaformacontex- tualizada e, por isso, ao longo dele, vamos criar um aplicativo para analisar dadospúblicosdoGovernoFederal.Aideiaéapresentarmotivaçõespráticas, paradepoisdemonstrarosrecursosdalinguagemquenospermitemtratara motivaçãoinicial. Estelivroestádivididoemduaspartes.Aprimeirafocanosaspectosfun- i CasadoCódigo damentais de Python, muitos dos quais já são conhecidos por quem já tem experiênciacomoutraslinguagensdeprogramação. Jánasegunda,passare- mosaolharcaracterísticasmaisespecíficasdalinguagemque,emborapossam nãoserexclusivas,sãomarcantesedevemsertratadascommaiscuidado. PorquePython3? Oanode2014foiumanochavenaadoçãodePython3,porgrandeparte dacomunidade.Muitosprojetosrelevantesforamportadosoulançaramver- sões compatíveis nesse ano. A família 3.4 tem maior aceitação que as ante- riores da versão 3 e, inclusive, foi adotada como versão padrão em alguns sistemas operacionais. Python 3 nunca chamou tanta atenção como agora, entãonadamaisjustoqueumlivrootenhacomoassuntobase. Nosso objetivo é apresentar os recursos básicos da linguagem, ideias e conceitoscentraisconstruindoumaplicativosimplesdeleituraemanipula- çãodedados. Olivroéconceitualepráticoaomesmotempo,paraqueoaprendizado sejamaisprofundosemserchatoedifícildeentender. Livrosextremamente práticos podem, muitas vezes, pular conceitos e ideias centrais do assunto abordado, ao ponto que textos apenas conceituais podem ficar cansativos e teóricosdemais. Assim, o propósito é fazer com que você entenda melhor o universo Python,aomesmotempoemqueaprendeausarnapráticaosprincipaisre- cursosdalinguagem. Público-alvo Esteéumlivroparainiciantesemprogramaçãooudesenvolvedoresavan- çadoscompoucaexperiênciaemPython.Sevocêforuminiciante,leia-ocom calma para não acumular dúvidas ao longo do aprendizado. Em termos de complexidade,amaioriadosexemplosébemsimplesefocaempassarpara oleitorcomousarosrecursosdisponíveisdamelhorforma.Emtermoscon- ceituais,todasasexplicaçõesbuscamsercompletasparanãoexigirconsulta afontesexternas. Caso você já tenha alguma experiência em programação, mas não co- nheça Python, o livro contribui para que você rapidamente descubra como ii CasadoCódigo implementarnessalinguagemcoisasquesãocomunsemoutras.Alémdisso, oscapítulosabordamaspectosbemespecíficos,comexplicaçõesconceituais eexemplospráticos. AquiexplicocomoascoisasfuncionamnouniversoPythoneapresento umpoucodavisãopythônicaparaoleitor.Atémesmoaspartesmaistriviais podemconterinsightsimportantessobreocomportamentodalinguagemou decisõesdedesignadotadas. Os pedaços de código apresentados serão autocontidos e permitirão ao leitormodificareobterresultadosdiferentes. Todososcódigossãoexplica- dos,muitasvezeslinhaalinha,paraquevocêentendaclaramenteoobjetivo eafunçãodecadaparte. Caso tenha alguma dúvida ou sugestão, procure a comuni- dade do livro para tirar dúvidas. Ela está disponível em livro- [email protected]êserámuitobem-vindo! Os códigos-fonte dos exemplos utilizados ao longo do livro podem serencontradosem:https://github.com/felipecruz/exemplos Sobreoautor FelipeCruzédesenvolvedordesoftwarehá10anos. Trabalhounomer- cadocorporativoedestartupserecentementeatuacomoCientistadeDados, área onde reencontrou sua paixão pela construção de software. Mestrando emComputaçãopelaPUC-Rio,tambémestudaAprendizadodeMáquinase atualmentebuscanovasformasderesolveroproblemadarecomendaçãoeo aprendizadonãosupervisionadodeatributos. Pythonistahá6anos,palestranteeparticipantedediversasPythonBrasil, semprebuscoucompartilharconhecimentoeaprendercadavezmaissobrea linguagemeoecossistemaaolongodessesanos. iii CasadoCódigo Agradecimentos Agradeço, primeiramente, à minha família pelo apoio e paciência ao longo do tempo de criação do livro. Em especial, para minhas filhas Maya eLiz,minhaesposaFernanda,mãeeirmãsIlka,IlkaeIeda. Também agradeço muito pela confiança e paciência da equipe Casa do Códigoaolongodestaárduajornada. Emdiversosmomentos,nãoconsegui produzir o que era esperado mas mesmo assim sempre pude contar com a paciênciaeapoiodetodos. Porfim, agradeçoatodosquetrabalharamcomigo, emespecialparaos diversosamigosquefiznouniversoPython. iv CasadoCódigo Agradecimentos Erratas Essecapítuloédedicadoaoscontribuidoresdolivro: • SandroDutra-Errata-Seção2.2 • FranciscoAndré-Errata-Seção3.1 • AndréFrança-Errata-Seção4.1 v CasadoCódigo Sumário Sumário SeusprimeirospassoscomoPython 1 1 IniciandocomPython 3 1.1 AlinguagemPython. . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 DePython2paraPython3 . . . . . . . . . . . . . . . . . . . . 6 1.3 Diversosinterpretadoresemesmalinguagem . . . . . . . . . 7 1.4 Preparandooambiente . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Primeiropasso:abraointerpretador . . . . . . . . . . . . . . 8 1.6 Primeirasexplorações . . . . . . . . . . . . . . . . . . . . . . . 9 1.7 Próximospassos . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 AprendendoPythonnaprática:númerosestrings 11 2.1 Números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 ComomanipulartextoemPython . . . . . . . . . . . . . . . 16 2.3 Criandoemanipulandotexto:strings. . . . . . . . . . . . . . 16 2.4 ComoPythonrepresentastringsinternamente? . . . . . . . . 21 2.5 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Manipulaçõesbásicas 25 3.1 Umacalculadora:oexemplorevisadomaiscomum . . . . . 25 3.2 Pegandodadosnoterminal. . . . . . . . . . . . . . . . . . . . 26 3.3 Comparações:maior,menor,igualeoutras . . . . . . . . . . 27 3.4 Condicionais:if,elif&else . . . . . . . . . . . . . . . . . . . . 28 3.5 Operadoreslógicos . . . . . . . . . . . . . . . . . . . . . . . . 31 vii Sumário CasadoCódigo 3.6 Loopscomwhile . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.7 Primeiraestruturadedados:lista . . . . . . . . . . . . . . . . 32 3.8 Looppythônicocomforelistas . . . . . . . . . . . . . . . . . 34 3.9 Percorrendointervalosdezeroaténcomrange() . . . . . . . 35 3.10 Enumerandocoleçõescomforefunçãoenumerate . . . . . . 36 3.11 Declarandofunções:comandodef . . . . . . . . . . . . . . . 37 3.12 Valorespadronizadosdeargumentos . . . . . . . . . . . . . . 37 3.13 Parâmetrosnomeados . . . . . . . . . . . . . . . . . . . . . . . 38 3.14 Recebendoumnúmeroarbitráriodeargumentos:packing& unpacking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.15 Usandocódigojápronto:importandomódulos . . . . . . . . 41 3.16 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4 Primeiroprograma:downloaddedadosdaCopa2014 43 4.1 Criandoumafunçãoparadownloadnaweb . . . . . . . . . . 43 4.2 Primeiroprogramacompleto. . . . . . . . . . . . . . . . . . . 45 4.3 Definindofunçõesmain . . . . . . . . . . . . . . . . . . . . . 45 4.4 Realizandoodownload . . . . . . . . . . . . . . . . . . . . . . 48 4.5 Maisdobásico:extraindoarquivosdedadosemetadados . . 49 4.6 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5 Estruturasdedados 53 5.1 Montandoummodeloconceitualusandoestruturasdedados 53 5.2 Dicionários:fundaçãodalinguagem . . . . . . . . . . . . . . 55 5.3 Montandoodicionáriodemetadados . . . . . . . . . . . . . 56 5.4 Adicionandoeremovendoelementosemumalista . . . . . . 58 5.5 Iterandodicionários:vendovaloresechaves . . . . . . . . . . 60 5.6 Tuplas:sequênciasimutáveis . . . . . . . . . . . . . . . . . . . 62 5.7 Explorandoosdadosquecoletamos. . . . . . . . . . . . . . . 63 5.8 Exemplo final usando estruturas de dados para explorar os metadados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.9 Estruturasdedadossãoimportantes? . . . . . . . . . . . . . . 70 5.10 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 viii

Description:
Existe um movimento na comunidade de programação que diz que você deve aprender uma nova linguagem por ano. Isso faz com que você estude novos conceitos e práticas, melhorando a forma como você trabalha no dia a dia. Mas qual será a sua próxima linguagem?Python é a principal linguagem de pr
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.