Allisson Barros 12/0055619
Daniel Luz 13/0007714
Leandro Bergmann 14/0149007
Luiz Fernando Vieira 13/0013757
Uriel Silva 12/0137232
Início da
Implementação
1989
1990
Lançamento
CWI
Python 0.9.0
alt.sources
1991
1992
Python 0.9.5
Apenas Mac
Python 1.0
1994
2000
Python 1.6
Python 2.0
BeOpen.com
2000
Python 2.1
PSF
2001
2001
Licença GPL
Python 2.1.1
2008
Python 3.0
Python 2.6
Transição
2008
Python 2.7.10
Versão 2.x Atual
2015
2015
Python 3.4.3
Versão 3.x Atual
Python 1.6
Suporte para Unicode
Regular Expression Engine
Pacote distutils - Instalação e
distribuição
Novas APIs em C para alocação de
memória
Reestruturação da IDE padrão IDLE
Python 2.1
Novo tipo nativo - Unicode String
Utilização do SourceForge
Novo tratamendo de Listas – Haskell
Novos operadores de atribuição
Mudanças no Garbage Collector
Módulos XML
Python 2.6
Transição para o Python 3.0
Inclusão de novos Pacotes – json e
multiprocessing
Python 3.x
Reestruturação da Linguagem
Novo formato de Documentação
Roundup como novo bug tracker
print como função
Nova biblioteca de I/O
Mudanças de sintaxePython 2.7.10
Versão 2.x mais estável
Melhora no tratamento de floats e
Decimals
Novas Classes Counter e
OrderedDict
Procedural
Funcional
Orientado a Objetos
Científico
Comercial
Inteligência Artificial
Estudantes
Pesquisadores
Paradigmas Domínios
Usuários
Procedural Funcional
Utiliza funções aplicadas a
determinados parâmetros como
principal meio de execução
Utiliza comandos de atribuição e
segue a ordem do código
durante a execução
Utiliza abstrações dos dados,
encapsulando-os em objetos
com restrições de acesso,
herança e vinculação
Orientação a Objetos
Astropy
Biopython
Numpy
TomoPy
GNU Mailman
Django
Kivy
Scikit-learn
Científico Comercial
Inteligência Artificial
Científico
Comercial
Inteligência Artificial
Estudantes
Pesquisadores
Usuários Gerais
Comandos
if / else
for
while
try / except
Tipos Primitivos
Boolean
Int / Float / Complex
Char / String
List
Tuple
Dictionary
Funções
def
Classes
Funções Anônimas
Outros
Palavras reservadas
Variáveis
Operadores
Identação
Tipos Primitivos
Números (int, float, complex)
Booleano
String
Lista
Tupla
Dicionário
–
Funções
def
Funções
Classes
Funções
–
Funções Anônimas
–
Comandos
If / elif / else
while
for
Comandos
try except
–
Outros
Palavras reservadas
and del from not while
as elif global or with
assert else if pass yield
break except import print class
exc in raise continue finally
is return def for lambda
try False True nonlocal
Outros
Variáveis com tipagem dinâmica
Inicialização múltipla
Outros
Operadores (lógicos,
relacionais e aritméticos)
Outros
Sem delimitadores de bloco
Identação é obrigatória
Legibilidade Capacidade de Escrita
Simplicidade Global
Tipos de Dados
Abstração
Aspectos da Sintaxe
Abstração
Expressividade
Legibilidade Capacidade de Escrita
Simplicidade Global
Tipos de Dados
Abstração
Aspectos da Sintaxe
Abstração
Expressividade
Simplicidade Global
Poucos componentes básicos
Poucas palavras reservadas
Bom
and del from not while
as elif global or with
assert else if pass yield
break except import print class
exc in raise continue finally
is return def for lambda
try False True nonlocal
Tipos de Dados
Facilidade para criar tipos
Bom
Tipos de Dados
Tipagem dinâmica
Ruim
Abstração
Linguagem de Alto Nível
Dificuldade para entender os
objetos
Ruim
Aspectos da Sintaxe
Identação por blocos
Bom
Legibilidade Capacidade de Escrita
Simplicidade Global
Tipos de Dados
Abstração
Aspectos da Sintaxe
Abstração
Expressividade
Abstração
Funcional
Orientada a Objetos
Bom
Expressividade
Funcional
Orientada a Objetos
Bom
Confiabilidade Custo
Verificação de Tipos
Tratamento de tipos
Aliasing
Treinamento
Implementação
Compilação/interpretação
Execução
Manutenação
Treinamento
Implementação
Compilação/interpretação
Execução
Manutenação
Confiabilidade Custo
Verificação de Tipos
Tratamento de tipos
Aliasing
Verificação de tipos
Verificação dinâmica
Runtime
Existência de Erros
Ruim
Tratamento de Exceções Bom
Aliasing
Objetos com mesmo nome
Ruim
Confiabilidade Custo
Verificação de Tipos
Tratamento de tipos
Aliasing
Treinamento
Execução
Manutenação
http://blog.codeeval.com/codeevalblog/2015#.VYDWMPlViko=
Alta legibilidade
Curva de Aprendizado
Treinamento Baixo
http://benchmarksgame.alioth.debian.org/
Execução Alto
12
16
20
20.06 488.800.43 0.88 1.49 21.118.44
Java
Ruby
Python
176.22
Manutenção Baixo
Boa legibilidade
Vasta documentação
Depende da aplicação
Moderado
Portabilidade Generalidade
Padronização
Multi-plataforma
Vários Domínios
Mobile, Web, Desktop
Data Mining
Jogos
Qualidade da Definição
Documentação (python.org)
Suporte da comunidade
Gramática
Processamento de grande
quantidade de dados
Manipulação de strings e listas
Data mining
Fácil conexão com banco de dados
Grande quantidade de BIFs
XML
Motivos
libxml2
Libxslt
Bibliotecas para parse de
documentos XML
JAXP
Criada em cima do xslt capaz
de alterar a estrutura de dados
XML
C Java
libxml++
Essa API é capaz de realizar
atividades comuns com menos
linhas de código
lxml
ElementTree
Junção de libs como libxml2 e
libxslt
C++ Python
Tag
Atributo
Texto
Childs
ElementTree
http://lpunb.wikia.com/wiki/Semin%C3%A1rio_sobre_Python_-_LP_1/2015_-_Grupo_2

Seminário de Python - LP 1/2015 - Grupo 2