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
PROJETO PARA A FACULDADE?Canivete Python Resolve!
Guilherme Medeiroswww.FReNeTiC.com.br
@FReNeTiC_Br
Baseado em Fatos Reais
Estes slides contam a saga de um computeiro para implementar seu Trabalho de Conclusão de Curso
O INIMIGO MOSTRA SUA FACECapítulo 1
Você está vivendo a sua vida feliz
Distraído, aproveitando sua juventude
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
AS PRIMEIRAS REAÇÕESCapítulo 2
Assim que o desafio aparece
10 minutos depois
1 hora depois
Incrédulo, ainda tenta entender seu novo destino
Levanta o queixo e encara a realidade
E agora só resta uma única opção
CHALLENGE ACCEPTED
OMG! PYRANDO NO PYTHONCapítulo 3
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!
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
Porque este é você quando aprende Python
E este é você programando em Python
HOJE TEM MARMELADA? E IDE, TEM?
Capítulo 4
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
Item 01 – A IDE IDLE
Item 01 – A IDE IDLE
• Com uma IDE inclusa, só resta uma coisa:– PROGRAMAR!
• Parafraseando capitão Nascimento:– Senta o dedo nessa COISA!
GUI NÃO É APELIDO DE GUILHERMECapítulo 5
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
Item 02 – A Biblioteca Tkinter
Referências: http://docs.python.org/library/tkinter.html
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
Item 03 – A Biblioteca Tix
Referências: http://docs.python.org/library/tix.html
ME SALVA MEU HERÓI!Capítulo 6
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
Item 04 – A Biblioteca SQLite3• Criando um banco de dados local
Item 04 – A Biblioteca SQLite3• Inserindo dados
Item 04 – A Biblioteca SQLite3• Recuperando dados
CORAÇÃO_DE_MÃE.ZIP CABE TODO MUNDO
Capítulo 7
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
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
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
MOAR! MOAR! MOAR!Capítulo 8
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
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
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
E AGORA JOSÉ?Capítulo 9
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)
E Agora José?