o estado do python

Post on 18-Dec-2014

113 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra proferida no SAINF 2014 @ UFSM.

TRANSCRIPT

O Estado do Python Henrique G. G. Pereira

SAINF 2014

Roteiro

• Apresentação

• Introdução ao Python

• Histórico

• Comunidade

• Bibliotecas

Eu

• Bacharel em Sistemas de Informação – UNIFRA

• Mestre em Ciência da Computação – UFSM

• Analista de TI @ CPD

• Professor @ UNIFRA

• Programador Python

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

Baixo Nível

Nível Intermediário

Altíssimo Nível

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

Sintaxe Fácil

• Sem { }

• Blocos limitados por indentação

• Comandos em inglês

• Operadores em inglês

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

Multiparadigma

• Procedural nome = ‘paulo’

• Orientado a Objetos paulo = Pessoa(“Paulo”)

• Funcional executar(busca, Pessoa, nome = ‘Paulo’)

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

Tipagem

• Dinâmica • Não é necessário declarar tipos nas variáveis

• O interpretador detecta automáticamente os tipos.

• Forte • Objetos de tipos diferentes não conseguem se relacionar.

• Impossível somar uma string com um número.

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

Multiplataforma

• Windows

• Linux • Embutido

• OSX • Embutido

• Solaris • Embutido

O que é Python?

• Linguagem de Altíssimo Nível

• Sintaxe Fácil

• Multiparadigma

• Tipagem Forte e Dinâmica

• Multiplataforma

• Interpretada

Interpretada

• Interpretador Python (C)

• Interpretador Jython (Java)

• Interpretador IronPython (.Net)

História do Python

• Idealizada por Guido Van Rossum no final dos anos 80.

• Python 1.0 lançada em 1994.

• Python 2.0 lançada em 2000.

• Python 3.0 lançada em 2008.

História do Python

• Idealizada por Guido Van Rossum no final dos anos 80.

• Python 1.0 lançada em 1994.

• Python 2.0 lançada em 2000.

• Python 3.0 lançada em 2008.

Python 2

• Versão 2.7 • Lançada em Julho de 2010

• Atualmente 2.7.8 • Só recebe correções

• Escrita em C

• Muitas Bibliotecas

• Estável

Python 3

• Versão 3.4 • Lançada em Março de 2014

• Versão atual de desenvolvimento

• Escrita em C

• Um número menor de bibliotecas

• Estável

Outros Pythons

• PyPy

• Stackless Python

• IronPython

• Jython

• ActivePython

• Python(x,y)

Quem usa Python?

Python @ Google

Python @ Google

Python @ Google

Python @ NASA

Python @ CIA

Python @ CIA

E no Brasil?

Empregos no Brasil?

• Globo.com

• IBM

• Motorola

• Totvs

• Google

• Amazon

• Titans Group

• Dafiti

• MagazineLuiza

Comunidade

Python Software Foundation

• Organização sem fins lucrativos

• Formada em 2001

• Promover, proteger e avançar o Python

• Auxiliar e Ajudar o crescimento das comunidades internacionais

• Orçamento de $800k em 2013

APyB - Associação Python Brasil

• Organização sem fins lucrativos

• Organizar eventos

• Coordenar esforços de promoção e marketing

• Divulgação de casos de sucesso

• Fomentar a utilização da linguagem

• Proteger o uso das marcas

Email, IRC, Lista de Discussão

• www.python.org.br

• irc.freenode.net #python-br

• https://groups.google.com/forum/#!forum/python-brasil

Bibliotecas

Bibliotecas

• Muitas delas nativas

• https://docs.python.org/3/library/index.html

Bibliotecas

• Muitas delas nativas

• https://docs.python.org/3/library/index.html

• Milhares contribuídas

• https://pypi.python.org/pypi

Computação Científica

SciPy

• Matemática

• Ciência

• Engenharia

• Scipy.org

NumPy

• Vetores

• Matrizes n-dimensionais

• Integração com C/C++ e Fortran

• Números aleatórios

• Numpy.org

Pandas

• Estatística • Mediana, quartis, desvio padrão, variância

• Análise e Modelagem de dados

• pandas.pydata.org

SymPy

• Matemática Simbólica

• Sympy.org

BioPython

• Bioinformática • Alinhamento de códons

• Sequências de proteínas

• BLAST

• ClustalW

• Biopython.org

NLTK

• Processamento de linguagem natural

• Funciona em Português também • Machado de Assis incluído

• NLTK.org

Scikit-learn

• Data Mining e Análise de Dados

• Classificação

• Regressão

• Agrupamento

• Normalização

• scikit-learn.org

Scikit-image

• Processamento de imagens • Detecção de Bordas

• Histogramas

• Matching

• Scikit-image.org

Desenvolvimento Web

Django

• Framework FullStack

• 3 camadas • Modelo – Banco de Dados • View – Regras de Negócio • Template – Apresentação

• Livre de SQL

• Djangoproject.com

Model

View

Template

Flask

• Microframework

• flask.pocoo.org

Pyramid

• Framework Minimalista

• 3 camadas

• SQLAlchemy como mapeador objeto relacional

• pylonsproject.org

web2py

• Framework FullStack

• 3 camadas • Model – Banco de Dados

• Controler – Regras de Negócio

• View - Apresentação

Desenvolvimento de Jogos

Pygame

• Framework para desenvolvimento de jogos

• Baseado na Lib SDL

• Multiplataforma • Windows, Linux, OSX

• pygame.org

Kivy

• Framework para desenvolvimento de aplicações gráficas

• OpenGL ES 2

• Multiplataforma • Windows, Linux, OSX • Android • iOS

• kivy.org

Panda3D

• Game Engine em 3D • Desenvolvido pela Disney

• C++/Python

• Multiplataforma • Windows, Linux, OSX

• panda3d.org

top related