Projeto para a faculdade? Canivete Python resolve!

44
PROJETO PARA A FACULDADE? Canivete Python Resolve! Guilherme Medeiros www.FReNeTiC.com.br @FReNeTiC_Br

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 of Projeto para a faculdade? Canivete Python resolve!

Page 1: Projeto para a faculdade? Canivete Python resolve!

PROJETO PARA A FACULDADE?Canivete Python Resolve!

Guilherme Medeiroswww.FReNeTiC.com.br

@FReNeTiC_Br

Page 2: Projeto para a faculdade? Canivete Python resolve!

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!

O INIMIGO MOSTRA SUA FACECapítulo 1

Page 4: Projeto para a faculdade? Canivete Python resolve!

Você está vivendo a sua vida feliz

Page 5: Projeto para a faculdade? Canivete Python resolve!

Distraído, aproveitando sua juventude

Page 6: Projeto para a faculdade? Canivete Python resolve!

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!

AS PRIMEIRAS REAÇÕESCapítulo 2

Page 8: Projeto para a faculdade? Canivete Python resolve!

Assim que o desafio aparece

Page 9: Projeto para a faculdade? Canivete Python resolve!

10 minutos depois

Page 10: Projeto para a faculdade? Canivete Python resolve!

1 hora depois

Page 11: Projeto para a faculdade? Canivete Python resolve!

Incrédulo, ainda tenta entender seu novo destino

Page 12: Projeto para a faculdade? Canivete Python resolve!

Levanta o queixo e encara a realidade

Page 13: Projeto para a faculdade? Canivete Python resolve!

E agora só resta uma única opção

Page 14: Projeto para a faculdade? Canivete Python resolve!

CHALLENGE ACCEPTED

Page 15: Projeto para a faculdade? Canivete Python resolve!

OMG! PYRANDO NO PYTHONCapítulo 3

Page 16: Projeto para a faculdade? Canivete Python resolve!

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!

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!

Porque este é você quando aprende Python

Page 19: Projeto para a faculdade? Canivete Python resolve!

E este é você programando em Python

Page 20: Projeto para a faculdade? Canivete Python resolve!

HOJE TEM MARMELADA? E IDE, TEM?

Capítulo 4

Page 21: Projeto para a faculdade? Canivete Python resolve!

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!

Item 01 – A IDE IDLE

Page 23: Projeto para a faculdade? Canivete Python resolve!

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!

GUI NÃO É APELIDO DE GUILHERMECapítulo 5

Page 25: Projeto para a faculdade? Canivete Python resolve!

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!

Item 02 – A Biblioteca Tkinter

Referências: http://docs.python.org/library/tkinter.html

Page 27: Projeto para a faculdade? Canivete Python resolve!

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!

Item 03 – A Biblioteca Tix

Referências: http://docs.python.org/library/tix.html

Page 29: Projeto para a faculdade? Canivete Python resolve!

ME SALVA MEU HERÓI!Capítulo 6

Page 30: Projeto para a faculdade? Canivete Python resolve!

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!

Item 04 – A Biblioteca SQLite3• Criando um banco de dados local

Page 32: Projeto para a faculdade? Canivete Python resolve!

Item 04 – A Biblioteca SQLite3• Inserindo dados

Page 33: Projeto para a faculdade? Canivete Python resolve!

Item 04 – A Biblioteca SQLite3• Recuperando dados

Page 34: Projeto para a faculdade? Canivete Python resolve!

CORAÇÃO_DE_MÃE.ZIP CABE TODO MUNDO

Capítulo 7

Page 35: Projeto para a faculdade? Canivete Python resolve!

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!

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!

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!

MOAR! MOAR! MOAR!Capítulo 8

Page 39: Projeto para a faculdade? Canivete Python resolve!

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!

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!

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!

E AGORA JOSÉ?Capítulo 9

Page 43: Projeto para a faculdade? Canivete Python resolve!

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!

E Agora José?