projeto para a faculdade? canivete python resolve!
DESCRIPTION
Slides da palestra apresentada no XI encontro da comunidade pernambucana de Python.Essa palestra fala, rapidamente e de forma bem humorada, sobre o lema "baterias incluidas" do Python onde quase tudo que será necessário para o desenvolvimento de um bom projeto já vem na instalação padrão.TRANSCRIPT
![Page 1: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/1.jpg)
PROJETO PARA A FACULDADE?Canivete Python Resolve!
Guilherme Medeiroswww.FReNeTiC.com.br
@FReNeTiC_Br
![Page 2: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/2.jpg)
Baseado em Fatos Reais
Estes slides contam a saga de um computeiro para implementar seu Trabalho de Conclusão de Curso
![Page 3: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/3.jpg)
O INIMIGO MOSTRA SUA FACECapítulo 1
![Page 4: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/4.jpg)
Você está vivendo a sua vida feliz
![Page 5: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/5.jpg)
Distraído, aproveitando sua juventude
![Page 6: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/6.jpg)
Quando um novo desafio aparece
• TCC• Projeto de cadeira• Implementações sem sentido que os
professores pedem• Algum parente pede um software
“simplesinho”• Padaria da esquina precisa de um sisteminha
de ponto de venda
![Page 7: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/7.jpg)
AS PRIMEIRAS REAÇÕESCapítulo 2
![Page 8: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/8.jpg)
Assim que o desafio aparece
![Page 9: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/9.jpg)
10 minutos depois
![Page 10: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/10.jpg)
1 hora depois
![Page 11: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/11.jpg)
Incrédulo, ainda tenta entender seu novo destino
![Page 12: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/12.jpg)
Levanta o queixo e encara a realidade
![Page 13: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/13.jpg)
E agora só resta uma única opção
![Page 14: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/14.jpg)
CHALLENGE ACCEPTED
![Page 15: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/15.jpg)
OMG! PYRANDO NO PYTHONCapítulo 3
![Page 16: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/16.jpg)
Baixando o Python
• http://python.org/download/– WINdowns, Mac & Linux \o/
• 2.X ou 3.X?– Se não sabe escolher, vá de 2.X!• Recomendação do próprio portal Python
• GO! GO! GO!
![Page 17: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/17.jpg)
Por Que Python?
• Fácil de aprender– 1 dia estudando Python já resolve 90% dos seus
problemas (experiência própria)• Sintaxe simples e elegante• Portável• Multiparadigmas• Comunidade FORTE• Baterias Incluídas– O nosso Canivete Python
![Page 18: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/18.jpg)
Porque este é você quando aprende Python
![Page 19: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/19.jpg)
E este é você programando em Python
![Page 20: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/20.jpg)
HOJE TEM MARMELADA? E IDE, TEM?
Capítulo 4
![Page 21: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/21.jpg)
Item 01 – A IDE IDLE
• Distribuída desde a versão 2.3• Totalmente feita em Python– Logo, multiplataforma
• Cores no código, sistema de identação, debugger, call tips, acesso interativo ao interpretador e muito mais!
• http://docs.python.org/library/idle.html
![Page 22: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/22.jpg)
Item 01 – A IDE IDLE
![Page 23: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/23.jpg)
Item 01 – A IDE IDLE
• Com uma IDE inclusa, só resta uma coisa:– PROGRAMAR!
• Parafraseando capitão Nascimento:– Senta o dedo nessa COISA!
![Page 24: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/24.jpg)
GUI NÃO É APELIDO DE GUILHERMECapítulo 5
![Page 25: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/25.jpg)
Item 02 – A Biblioteca Tkinter
• Tkinter = TK Interface– Uma interface Python para a Tk GUI Toolkit
• Um montão de widgets prontas– Botões, Scrollbars, Menus, Spinboxes, Dialogs de
arquivos e mais, mais, MOAR!
• A poderosa widget CANVAS– Utilizada para exibir e editar gráficos e desenhos– Desenhar widgets personalizados• Loading bar é um bom exemplo
![Page 26: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/26.jpg)
Item 02 – A Biblioteca Tkinter
Referências: http://docs.python.org/library/tkinter.html
![Page 27: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/27.jpg)
Item 03 – A Biblioteca Tix
• Tix – Tk Interface Extension– Adiciona cerca de 40 Widgets novos ao Tkinter• É widget para dar com pau agora!
• As classes no módulo Tix são subclasses do módulo Tkinter– Logo, importar Tix implica em importar Tkinter• Apenas import Tix é suficiente• Não esquecer de substituir Tkinter.tk por Tix.tk
![Page 28: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/28.jpg)
Item 03 – A Biblioteca Tix
Referências: http://docs.python.org/library/tix.html
![Page 29: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/29.jpg)
ME SALVA MEU HERÓI!Capítulo 6
![Page 30: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/30.jpg)
Item 04 – A Biblioteca SQLite3
• SQLite é uma biblioteca em C– Inclusa no Python a partir da versão 2.5
• Forma simples e fácil de criar um banco de dados local– Baseado em arquivos– Não necessita de um programa do tipo servidor– Usa uma versão mais simples, e menos rica, da
linguagem SQL
![Page 31: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/31.jpg)
Item 04 – A Biblioteca SQLite3• Criando um banco de dados local
![Page 32: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/32.jpg)
Item 04 – A Biblioteca SQLite3• Inserindo dados
![Page 33: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/33.jpg)
Item 04 – A Biblioteca SQLite3• Recuperando dados
![Page 34: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/34.jpg)
CORAÇÃO_DE_MÃE.ZIP CABE TODO MUNDO
Capítulo 7
![Page 35: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/35.jpg)
Item 05 – A Biblioteca GZip
• Interface simples para compactar e descompactar arquivos .GZ
• Funciona exatamente como os programar Gzip e Gunzip
• Referência: http://docs.python.org/library/gzip.html#module-gzip
![Page 36: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/36.jpg)
Item 06 – A Biblioteca Zipfile
• Permite ler, compactar, descompactar, adicionar arquivos, e muito mais, em arquivos .zip
• Consegue ler e descriptografar arquivos criptografados– Mas (ainda) não consegue criar ou escrever arquivos
criptografados
• Referência: http://docs.python.org/library/zipfile.html#module-zipfile
![Page 37: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/37.jpg)
Item 07 – A Biblioteca Tarfile
• Permite ler e escrever arquivos .tar– Inclusive os compactados com gzip e bz2
• Suporta 3 formatos de arquivos .tar– POSIX.1-1998 (USTAR_FORMAT)– O formato GNU (GNU_FORMAT)– POSIX.1-2001 (PAX_FORMAT)
• Mais flexível dos formatos e o mais recomendado para uso
• Referência: http://docs.python.org/library/tarfile.html#module-tarfile
![Page 38: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/38.jpg)
MOAR! MOAR! MOAR!Capítulo 8
![Page 39: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/39.jpg)
Item 08 – A Biblioteca os.path
• Uma implementação simples para trabalhar com caminhos de pastas– Encontrar arquivos e pastas– Verificar existência– Saber tamanho do arquivo– E mais uma penca de facilidades!
• Referência: http://docs.python.org/library/os.path.html#module-os.path
![Page 40: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/40.jpg)
Item 09 - A Biblioteca Pydoc
• Gera, automaticamente, documentações de módulos Python– Imprimir documentação no console– Abrir a documentação em um navegador web– Salvar a documentação em arquivos HTML
• Referência: http://docs.python.org/library/pydoc.html#module-pydoc
![Page 41: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/41.jpg)
MOAR?!
• Urllib2 – Conjunto de funções simples para abrir URLs– http://docs.python.org/library/urllib2.html#module-urllib2
• HTMLParser – Forma simples de parsear arquivos HTML e XHTML– http://docs.python.org/library/htmlparser.html#module-
HTMLParser
• Xml.parser.expat – Parser simples para arquivos XML– http://docs.python.org/library/pyexpat.html#module-
xml.parsers.expat
![Page 42: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/42.jpg)
E AGORA JOSÉ?Capítulo 9
![Page 43: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/43.jpg)
E Agora José?
• Programou em Python?• Usou apenas o canivete?• Tá feliz?– Queima o seu projeto num CD– Queima no mesmo CD o instalador da versão
Python que você usou– Cria um READEME.txt– Envia para o professor (Tio, cliente, Orientador)
![Page 44: Projeto para a faculdade? Canivete Python resolve!](https://reader031.vdocuments.pub/reader031/viewer/2022020803/54911889b47959bd738b4764/html5/thumbnails/44.jpg)
E Agora José?