Projeto para a faculdade? Canivete Python resolve!

Post on 17-Dec-2014

3.351 views 2 download

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!

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é?