Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Python para desenvolvedores, Manuais, Projetos, Pesquisas de Programação Orientada a Objetos

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

2019
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 08/05/2019

JaneOliveira
JaneOliveira 🇧🇷

4.6

(5)

1 documento

1 / 360

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Python para desenvolvedores e outras Manuais, Projetos, Pesquisas em PDF para Programação Orientada a Objetos, somente na Docsity!

Licença

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.

Site oficial

A edição mais recente está disponível no formato PDF em: http://ark4n.wordpress.com/python/

Capa

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-

Agradecimentos

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.

Sobre o autor

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

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.

Características

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.

Histórico

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).

Versões

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).

Executando programas

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.

Compilação e interpretaçã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.

Código fonte

(.py)

Símbolos Árvore sintática

Bytecode

(.pyc / .pyo)

Binários

Interpretador Instaladores

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.

Modo interativo

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.

Cultura

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.