




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
livro que aborda a linguagem Python ao qual é uma linguagem de altíssimo nível (em inglês, Very High Level Language) orientada a objeto, de tipagem dinâmica e forte, interpretada e interativa.
Tipologia: Manuais, Projetos, Pesquisas
Oferta por tempo limitado
Compartilhado em 08/05/2019
4.6
(5)1 documento
1 / 360
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Em oferta
Este trabalho está licenciado sob uma Licença Creative Commons Atribuição- Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc- sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
A edição mais recente está disponível no formato PDF em: http://ark4n.wordpress.com/python/
Imagem utilizada na capa ( Steampython ): http://ark4n.deviantart.com/art/Steampython-
Python para Desenvolvedores / Luiz Eduardo Borges Rio de Janeiro, Edição do Autor, 2010 ISBN 978-85-909451-1-
Gostaria de agradecer a minha esposa e aos meus pais, pela paciência que tiveram durante o processo de criação desta obra. Além deles, também gostaria de agradecer a todos que apoiaram e ajudaram a divulgar o livro.
Luiz Eduardo Borges é engenheiro e analista de sistemas, com pós-graduação em Computação Gráfica pela Universidade do Estado do Rio de Janeiro (UERJ). Atua a quase duas décadas na área de informática, sob diversas formas.
10 Parte I
Esta parte trata de conceitos básicos sobre a linguagem de programação Python, incluindo sintaxe, tipos, estruturas de controle, funções e documentação. Conteúdo: ▪ Prefácio da primeira edição. ▪ Prefácio da segunda edição. ▪ Introdução. ▪ Sintaxe. ▪ Controle de fluxo. ▪ Laços. ▪ Tipos. ▪ Funções. ▪ Documentação. ▪ Exercícios I.
Prefácio da primeira edição 11 Prefácio da primeira edição As linguagens dinâmicas eram vistas no passado apenas como linguagens script , usadas para automatizar pequenas tarefas, porém, com o passar do tempo, elas cresceram, amadureceram e conquistaram seu espaço no mercado, a ponto de chamar a atenção dos grandes fornecedores de tecnologia. Vários fatores contribuíram para esta mudança, tais como a internet, o software de código aberto e as metodologias ágeis de desenvolvimento. A internet viabilizou o compartilhamento de informações de uma forma sem precedentes na história, que tornou possível o crescimento do software de código aberto. As linguagens dinâmicas geralmente são código aberto e compartilham as mesmas funcionalidades e em alguns casos, os mesmos objetivos. A produtividade e expressividade das linguagens dinâmicas se encaixam perfeitamente com as metodologias ágeis, que nasceram do desenvolvimento de software de código aberto e defendem um enfoque mais pragmático no processo de criação e manutenção de software do que as metodologias mais tradicionais. Entre as linguagens dinâmicas, o Python se destaca como uma das mais populares e poderosas. Existe uma comunidade movimentada de usuários da linguagem no mundo, o que se reflete em listas ativas de discussão e muitas ferramentas disponíveis em código aberto. Aprender uma nova linguagem de programação significa aprender a pensar de outra forma. E aprender uma linguagem dinâmica representa uma mudança de paradigma ainda mais forte para aquelas pessoas que passaram anos desenvolvendo em linguagens estáticas.
Introdução 13 Introdução Python^1 é uma linguagem de altíssimo nível (em inglês, Very High Level Language ) orientada a objeto, de tipagem dinâmica e forte, interpretada e interativa.
O Python possui uma sintaxe clara e concisa, que favorece a legibilidade do código fonte, tornando a linguagem mais produtiva. A linguagem inclui diversas estruturas de alto nível (listas, dicionários, data / hora, complexos e outras) e uma vasta coleção de módulos prontos para uso, além de frameworks de terceiros que podem ser adicionados. Também possui recursos encontrados em outras linguagens modernas, tais como: geradores, introspecção, persistência, metaclasses e unidades de teste. Multiparadigma, a linguagem suporta programação modular e funcional, além da orientação a objetos. Mesmo os tipos básicos no Python são objetos. A linguagem é interpretada através de bytecode pela máquina virtual Python, tornando o código portável. Com isso é possível compilar aplicações em uma plataforma e rodar em outros sistemas ou executar direto do código fonte. Python é um software de código aberto (com licença compatível com a General Public License (GPL), porém menos restritiva, permitindo que o Python seja inclusive incorporado em produtos proprietários). A especificação da linguagem é mantida pela Python Software Foundation 2 (PSF). Além de ser utilizado como linguagem principal no desenvolvimento de sistemas, o Python também é muito utilizado como linguagem script em vários softwares, permitindo automatizar tarefas e adicionar novas funcionalidades, entre eles: BrOffice.org, PostgreSQL, Blender, GIMP e Inkscape. É possível integrar o Python a outras linguagens, como a Linguagem C e Fortran. Em termos gerais, a linguagem apresenta muitas similaridades com 1 Página oficial: http://www.python.org/. 2 Endereço na internet da PSF: http://www.python.org/psf/.
14 Introdução outras linguagens dinâmicas, como Perl e Ruby.
A linguagem foi criada em 1990 por Guido van Rossum, no Instituto Nacional de Pesquisa para Matemática e Ciência da Computação da Holanda (CWI) e tinha originalmente foco em usuários como físicos e engenheiros. O Python foi concebido a partir de outra linguagem existente na época, chamada ABC. Hoje, a linguagem é bem aceita na industria por empresas de alta tecnologia, tais como: ▪ Google (aplicações Web ). ▪ Yahoo (aplicações Web ). ▪ Microsoft (IronPython: Python para .NET). ▪ Nokia (disponível para as linhas recentes de celulares e PDAs). ▪ Disney (animações 3D).
A implementação oficial do Python é mantida pela PSF e escrita em C, e por isso, é também conhecida como CPython. A versão estável mais recente está disponível para download no endereço: http://www.python.org/download/ Para a plataforma Windows, basta executar o instalador. Para outras plataformas, como em sistemas Linux, geralmente o Python já faz parte do sistema, porém em alguns casos pode ser necessário compilar e instalar o interpretador a partir dos arquivos fonte. Existem também implementações de Python para .NET (IronPython), JVM (Jython) e em Python (PyPy).
Exemplo de programa em Python:
16 Introdução A tipagem do Python é forte, ou seja, o interpretador verifica se as operações são válidas e não faz coerções automáticas entre tipos incompatíveis 3
. Para realizar a operação entre tipos não compatíveis, é necessário converter explicitamente o tipo da variável ou variáveis antes da operação.
O código fonte é traduzido pelo Python para bytecode , que é um formato binário com instruções para o interpretador. O bytecode é multiplataforma e pode ser distribuído e executado sem fonte original. Por padrão, o interpretador compila o código e armazena o bytecode em disco, para que a próxima vez que o executar, não precise compilar novamente o programa, reduzindo o tempo de carga na execução. Se os arquivos fontes forem alterados, o interpretador se encarregará de regerar o bytecode automaticamente, mesmo utilizando o shell interativo. Quando um programa ou um módulo é evocado, o interpretador realiza a análise do código, converte para símbolos, compila (se não houver bytecode atualizado em disco) 3 Em Python, coerções são realizadas automaticamente apenas entre tipos que são claramente relacionados, como inteiro e inteiro longo.
Introdução 17 e executa na máquina virtual Python. O bytecode é armazenado em arquivos com extensão “.pyc” ( bytecode normal) ou “.pyo” ( bytecode otimizado). O bytecode também pode ser empacotado junto com o interpretador em um executável, para facilitar a distribuição da aplicação, eliminando a necessidade de instalar Python em cada computador.
O interpretador Python pode ser usado de forma interativa, na qual as linhas de código são digitadas em um prompt (linha de comando) semelhante ao shell do sistema operacional. Para evocar o modo interativo basta executar o interpretador (se ele estiver no path ): python Ele estará pronto para receber comandos após o surgimento do sinal de espera “>>>” na tela: Python 2.6.4 (r264:75706, Nov 3 2009, 13:20:47) [GCC 4.4.1] on linux Type "help", "copyright", "credits" or "license" for more information.
No Windows, o modo interativo está disponível também através do ícone “Python (command line)”. O modo interativo é uma característica diferencial da linguagem, pois é possível testar e modificar trechos de código antes da inclusão do código em programas, fazer extração e conversão de dados ou mesmo analisar o estado dos objetos que estão em memória, entre outras possibilidades. Além do modo interativo tradicional do Python, existem outros programas que funcionam como alternativas, com interfaces mais sofisticadas (como o
Introdução 19 ▪ Eric 7 . ▪ PyDev 8 ( plug-in para a IDE Eclipse). Existem também editores de texto especializados em código de programação, que possuem funcionalidades como colorização de sintaxe, exportação para outros formatos e conversão de codificação de texto. Esses editores suportam diversas linguagens de programação, dentre elas o Python: ▪ SciTE 9 . ▪ Notepad++ 10 . Shell é o nome dado aos ambientes interativos para execução de comandos, que podem ser usados para testar pequenas porções de código e para atividades como data crunching (extração de informações de interesse de massas de dados e a subsequente tradução para outros formatos). Além do próprio Shell padrão do Python, existem os outros disponíveis: 7 Site: http://eric-ide.python-projects.org/. 8 Disponível em http://pydev.org/. 9 Site: http://www.scintilla.org/SciTE.html. 10 Download de fontes e binários em: http://notepad-plus.sourceforge.net/br/site.htm.
20 Introdução ▪ PyCrust (gráfico). ▪ Ipython (texto). Os empacotadores são utilitários que são usados para construir executáveis que englobam o bytecode , o interpretador e outras dependências, permitindo que o aplicativo rode em máquinas sem Python instalado, o que facilita a distribuição de programas. Entre empacotadores feitos para Python, estão disponíveis: ▪ Py2exe (apenas para Windows). ▪ cx_Freeze (portável). Frameworks são coleções de componentes de software (bibliotecas, utilitários e outros) que foram projetados para serem utilizados por outros sistemas. Alguns frameworks disponíveis mais conhecidos: ▪ Web: Django, TurboGears, Zope e web2py. ▪ Interface gráfica: wxPython, PyGTK e PyQt. ▪ Processamento cientifico: NumPy e SciPy. ▪ Processamento de imagens: PIL. ▪ 2D: Matplotlib e SVGFig. ▪ 3D: Visual Python, PyOpenGL e Python Ogre. ▪ Mapeamento objeto-relacional: SQLAlchemy e SQLObject.
O nome Python foi tirado por Guido van Rossum do programa da TV britânica Monty Python Flying Circus , e existem várias referências na documentação da linguagem ao programa, como, por exemplo, o repositório oficial de pacotes do Python se chamava Cheese Shop , que era o nome de um dos quadros do programa. Atualmente, o nome do repositório é Python Package Index 11 (PYPI). A comunidade de usuários de Python criou algumas expressões para se referir aos assuntos relacionados à linguagem. Neste jargão, o termo Pythonic é usado para indicar que algo é compatível com as premissas de projeto do Python, e Unpythonic significa o oposto. Já o usuário da linguagem é chamado 11 Endereço: http://pypi.python.org/pypi.