o estado do python
DESCRIPTION
Palestra proferida no SAINF 2014 @ UFSM.TRANSCRIPT
![Page 1: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/1.jpg)
O Estado do Python Henrique G. G. Pereira
SAINF 2014
![Page 2: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/2.jpg)
Roteiro
• Apresentação
• Introdução ao Python
• Histórico
• Comunidade
• Bibliotecas
![Page 3: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/3.jpg)
Eu
• Bacharel em Sistemas de Informação – UNIFRA
• Mestre em Ciência da Computação – UFSM
• Analista de TI @ CPD
• Professor @ UNIFRA
• Programador Python
![Page 4: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/4.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 5: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/5.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 6: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/6.jpg)
Baixo Nível
![Page 7: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/7.jpg)
Nível Intermediário
![Page 8: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/8.jpg)
Altíssimo Nível
![Page 9: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/9.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 10: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/10.jpg)
Sintaxe Fácil
• Sem { }
• Blocos limitados por indentação
• Comandos em inglês
• Operadores em inglês
![Page 11: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/11.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 12: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/12.jpg)
Multiparadigma
• Procedural nome = ‘paulo’
• Orientado a Objetos paulo = Pessoa(“Paulo”)
• Funcional executar(busca, Pessoa, nome = ‘Paulo’)
![Page 13: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/13.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 14: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/14.jpg)
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.
![Page 15: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/15.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 16: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/16.jpg)
Multiplataforma
• Windows
• Linux • Embutido
• OSX • Embutido
• Solaris • Embutido
![Page 17: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/17.jpg)
O que é Python?
• Linguagem de Altíssimo Nível
• Sintaxe Fácil
• Multiparadigma
• Tipagem Forte e Dinâmica
• Multiplataforma
• Interpretada
![Page 18: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/18.jpg)
Interpretada
• Interpretador Python (C)
• Interpretador Jython (Java)
• Interpretador IronPython (.Net)
![Page 19: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/19.jpg)
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.
![Page 20: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/20.jpg)
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.
![Page 21: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/21.jpg)
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
![Page 22: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/22.jpg)
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
![Page 23: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/23.jpg)
Outros Pythons
• PyPy
• Stackless Python
• IronPython
• Jython
• ActivePython
• Python(x,y)
![Page 24: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/24.jpg)
Quem usa Python?
![Page 25: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/25.jpg)
Python @ Google
![Page 26: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/26.jpg)
Python @ Google
![Page 27: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/27.jpg)
Python @ Google
![Page 28: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/28.jpg)
Python @ NASA
![Page 29: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/29.jpg)
Python @ CIA
![Page 30: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/30.jpg)
Python @ CIA
![Page 31: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/31.jpg)
E no Brasil?
![Page 32: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/32.jpg)
![Page 33: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/33.jpg)
Empregos no Brasil?
• Globo.com
• IBM
• Motorola
• Totvs
• Amazon
• Titans Group
• Dafiti
• MagazineLuiza
![Page 34: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/34.jpg)
Comunidade
![Page 35: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/35.jpg)
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
![Page 36: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/36.jpg)
![Page 37: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/37.jpg)
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
![Page 38: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/38.jpg)
![Page 39: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/39.jpg)
Email, IRC, Lista de Discussão
• www.python.org.br
• irc.freenode.net #python-br
• https://groups.google.com/forum/#!forum/python-brasil
![Page 40: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/40.jpg)
Bibliotecas
![Page 41: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/41.jpg)
Bibliotecas
• Muitas delas nativas
• https://docs.python.org/3/library/index.html
![Page 42: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/42.jpg)
Bibliotecas
• Muitas delas nativas
• https://docs.python.org/3/library/index.html
• Milhares contribuídas
• https://pypi.python.org/pypi
![Page 43: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/43.jpg)
Computação Científica
![Page 44: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/44.jpg)
SciPy
• Matemática
• Ciência
• Engenharia
• Scipy.org
![Page 45: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/45.jpg)
NumPy
• Vetores
• Matrizes n-dimensionais
• Integração com C/C++ e Fortran
• Números aleatórios
• Numpy.org
![Page 46: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/46.jpg)
Pandas
• Estatística • Mediana, quartis, desvio padrão, variância
• Análise e Modelagem de dados
• pandas.pydata.org
![Page 47: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/47.jpg)
SymPy
• Matemática Simbólica
• Sympy.org
![Page 48: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/48.jpg)
BioPython
• Bioinformática • Alinhamento de códons
• Sequências de proteínas
• BLAST
• ClustalW
• Biopython.org
![Page 49: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/49.jpg)
NLTK
• Processamento de linguagem natural
• Funciona em Português também • Machado de Assis incluído
• NLTK.org
![Page 50: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/50.jpg)
Scikit-learn
• Data Mining e Análise de Dados
• Classificação
• Regressão
• Agrupamento
• Normalização
• scikit-learn.org
![Page 51: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/51.jpg)
Scikit-image
• Processamento de imagens • Detecção de Bordas
• Histogramas
• Matching
• Scikit-image.org
![Page 52: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/52.jpg)
Desenvolvimento Web
![Page 53: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/53.jpg)
Django
• Framework FullStack
• 3 camadas • Modelo – Banco de Dados • View – Regras de Negócio • Template – Apresentação
• Livre de SQL
• Djangoproject.com
![Page 54: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/54.jpg)
Model
![Page 55: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/55.jpg)
View
![Page 56: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/56.jpg)
Template
![Page 57: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/57.jpg)
Flask
• Microframework
• flask.pocoo.org
![Page 58: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/58.jpg)
Pyramid
• Framework Minimalista
• 3 camadas
• SQLAlchemy como mapeador objeto relacional
• pylonsproject.org
![Page 59: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/59.jpg)
web2py
• Framework FullStack
• 3 camadas • Model – Banco de Dados
• Controler – Regras de Negócio
• View - Apresentação
![Page 60: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/60.jpg)
Desenvolvimento de Jogos
![Page 61: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/61.jpg)
Pygame
• Framework para desenvolvimento de jogos
• Baseado na Lib SDL
• Multiplataforma • Windows, Linux, OSX
• pygame.org
![Page 62: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/62.jpg)
Kivy
• Framework para desenvolvimento de aplicações gráficas
• OpenGL ES 2
• Multiplataforma • Windows, Linux, OSX • Android • iOS
• kivy.org
![Page 63: O Estado do Python](https://reader031.vdocuments.net/reader031/viewer/2022020723/54972b52ac7959292e8b5287/html5/thumbnails/63.jpg)
Panda3D
• Game Engine em 3D • Desenvolvido pela Disney
• C++/Python
• Multiplataforma • Windows, Linux, OSX
• panda3d.org