You are on page 1of 35

Por Richardson Lima richardsonlima@foxylinux.

com 1
Richardson Lima
securityfusion@gmail.com
richardsonlima@foxylinux.com
http://richardsonlima.foxylinux.com
Por Richardson Lima richardsonlima@foxylinux.com 2
Ateno
O prazer de construir um programa em
Python pode causar dependncia
psicolgica.
Brincadeirinhaaaa !!!
Por Richardson Lima richardsonlima@foxylinux.com 3
Esboo
O que Python?
Por que usar Python?
Python, em comparao com outras linguagens.
Por Richardson Lima richardsonlima@foxylinux.com 4
O que Python?
Por Richardson Lima richardsonlima@foxylinux.com 5
Porqu Python
Seu nome uma homenagem ao grupo
humorstico ingls Monty Python,adorado
por geeks de todo o mundo.
Por Richardson Lima richardsonlima@foxylinux.com 6
O que Python ?
- Prototipagem rpida de linguagem OO
- No apenas uma linguagem de scripting
- No apenas um outro Perl
- Extensvel (incremento de novos mdulos)
C / C ++ / Fortran / qualquer coisa =)
Java (atravs Jython)
- Possvel incorporar em aplicaes
Por Richardson Lima richardsonlima@foxylinux.com 7
Propriedades de alto nvel
- Extremamente porttil.
- Unix, Windows, Mac, BeOS, Win / CE,
DOS, OS / 2, Amiga, VMS, Cray, ...
- Compilado para cdigo interpretador byte code.
- Compilao implcita e automtica.
- Gerenciamento automtico de memria.
Por Richardson Lima richardsonlima@foxylinux.com 8
O que Python
- Livre (open source)
Direitos autorais, mas no uso restrito
- Apoio da comunidade de usurios
- Design elegante, fcil de aprender
L como "pseudo-cdigo"
Adequada como primeira linguagem
Por Richardson Lima richardsonlima@foxylinux.com 9
Interfaces para o ...
- COM, DCOM, ODBC
- Bases de dados comerciais
- Java (Jython)
- Muitas bibliotecas GUI
Plataforma independente
- Tk, wxWindows, GTK
Plataforma especfica
- MFC, MacOS, X11/Motif
Por Richardson Lima richardsonlima@foxylinux.com 10
Propriedades da linguagem
- Tudo um objeto
- Mdulos, classes, funes
- Manipulao de exceo
- Digitao dinmica, polimorfismo
Static scoping
- Operador de sobrecarga (overloading)
- Indentao para bloquear estrutura
Por Richardson Lima richardsonlima@foxylinux.com 11
Tipos de dados de alto nvel
- Nmeros: int, long, float, complex
- Strings: imutvel
- Listas e dicionrios: contentores
- Outros tipos de e.x. dados binrios,
expresses regulares, introspeco
Por Richardson Lima richardsonlima@foxylinux.com 12
Por que usar
Python?
Por Richardson Lima richardsonlima@foxylinux.com 13
Produtividade!
- Tempo de desenvolvimento reduzido,
> A codificao mais rpida que C, C + +,
Java.
- Manuteno de cdigo
> Cdigo extremamente legvel
- Menor tempo de aprendizado
> Linguagem muito fcil de aprender
Por Richardson Lima richardsonlima@foxylinux.com 14
Em que pode utilizado?
- Prototipagem rpida
- Web scripting (HTML, HTTP, ...)
- Programao ad hoc,aplicaes cientficas
- Processamento de XML (XML-RPC and SOAP )
- Base de dados (Oracle, MySQL, PostgreSQL, ODBC, ...)
- Aplicaes GUI
Por Richardson Lima richardsonlima@foxylinux.com 15
Quem est usando?
- LLNL, Fermilab
- Grupo CMU no Alice (grficos 3D)
- ObjectDomain (extenso de ferramenta UML)
- Infoseek (linguagem scripting)
- Industrial Light & Magic (tudo)
- Yahoo! (CGI no Yahoo! Mail)
- Digital Creations (Zope)
- RedHat (Ferramentas de instalao)
Por Richardson Lima richardsonlima@foxylinux.com 16
Criador
Criada em 1989 pelo holands
Guido van Rossum no Centrum
voor Wiskunde en Informatica (CWI),
em Amsterd,Holanda.
O projeto de sistema operacional
distribudo Amoeba precisava de uma
linguagem de script. Nasce o Python.
Por Richardson Lima richardsonlima@foxylinux.com 17
Python no Brasil
Embratel: monitoramento das interfaces de backbone e
clientes de internet, tambm existem scripts de uso interno.
CPqD: monitoramento de centrais telefnicas.
GPr Sistemas: Desenvolvimento de aplicaes sob encomenda,
sistemas como monitoramento de transporte terrestre via satlite so as
solues j feitas.
Outras que utilizam o Python para sistemas Web, como Varig,
Serpro,Interlegis, ...
Os sistemas web de gesto de contedo usando o trio
Python/Zope/Plone vem crescendo a cada dia, principalmente em
grandes empresas e em rgos do governo.
Por Richardson Lima richardsonlima@foxylinux.com 18
Python no mundo
Apesar da associao cmica, Python
vem sendo usada em projetos srios por
entidades como Google,Yahoo, NASA,
InfoSeek, MCI Worldcom, IBM e Hiway, a
maior empresa de hospedagem de web-
sites do mundo.
Por Richardson Lima richardsonlima@foxylinux.com 19
Comunidade Mundial
URL: http://python.org/
Mail: python-list@python.org, python-help@python.org
IRC: irc.freenode.org, canal #python
Por Richardson Lima richardsonlima@foxylinux.com 20
Comunidade Brasileira
URL: http://www.pythonbrasil.com.br/
Mail: python-brasil@yahoogrupos.com.br
IRC: irc.freenode.org, canal #python-br
Por Richardson Lima richardsonlima@foxylinux.com 21
Python
COMPARAO COM
OUTRAS LINGUAGENS
Por Richardson Lima richardsonlima@foxylinux.com 22
Python vs. Perl
- Mais fcil de aprender
- Boa para o uso ocasional
- Cdigo mais legvel
- Manuteno do cdigo
- Menos "mgicas ", efeitos colaterais
- Mais "segurana", garantias
- Melhor integrao Java
Por Richardson Lima richardsonlima@foxylinux.com 23
Python vs. Tcl
- Orientao a objeto
- Sintaxe mais diferenciada
- Muito mais rpido (mesmo que Tcl 8.x)
- Menos necessidade de extenses C
- Se usar extenses C no redefini a sintaxe
> extenso, portanto, menos conflitos
- Melhor integrao Java
- Python usa Tk como GUI std
Por Richardson Lima richardsonlima@foxylinux.com 24
Python vs. Java
- Cdigo 5-10 vezes mais conciso
- Digitao dinmica
- Desenvolvimento muito rpido
- No tens que compilar
- Menos tempo de digitao
- Sim, vai mais devagar !!!
- Mas o desenvolvimento muito mais rpido!
- Utilize Python com Java: Jython!
Por Richardson Lima richardsonlima@foxylinux.com 25
Python em web-applications
Python tambem a base do Zope, a mais
sofisticada plataforma para construo de
web-applications disponvel hoje como
open-source.
Por Richardson Lima richardsonlima@foxylinux.com 26
Recursos
Apesar de sua sintaxe simples e clara,
Python oferece recursos disponveis
tambm em linguagens mais complicadas
como Java e C++.
Por Richardson Lima richardsonlima@foxylinux.com 27
Detalhes dos recursos
Programao orientada a objetos
Um moderno mecanismo para o tratamento de erros
Possibilidade de executar o mesmo programa sem modificaes em
vrias plataformas
Recursos avanados de manipulao de textos, listas e outras estruturas
de dados
Mdulos, uma forma inteligente de acessar e organizar cdigo a ser
reutilizado
Por Richardson Lima richardsonlima@foxylinux.com 28
Orientao a Objeto
J vi muita gente dizer que uma
linguagem orientada a objetos porque
voc pode criar interfaces grficas.
No tem nada a ver.
Por Richardson Lima richardsonlima@foxylinux.com 29
Detalhe
Isso no significa, claro, que no se
pode criar aplicaes com interfaces
grficas com Python ou com qualquer
outra linguagem orientada ou no a
objetos.
Por Richardson Lima richardsonlima@foxylinux.com 30
Python OO
Python uma linguagem orientada a objetos,
e nela quase tudo um objeto, nmeros,
strings,funes, classes, instancias, mtodos,
...
Por Richardson Lima richardsonlima@foxylinux.com 31
Python Destri !!!
Python nos oferece uma sintaxe simples
mas ao mesmo tempo suporta a maior
parte das caractersticas importantes de
linguagens modernas e amplamente
utilizadas como Java, C++, Perl e
VBScript.
Por Richardson Lima richardsonlima@foxylinux.com 32
Seu primeiro cdigo Python
>>> print Oi, Mundo !"
Oi, Mundo !
Em JAVA !!!
Class Oi Mundo {
public static void main (String[] args) {
System.out.println( Oi, Mundo) ;
}
}
Por Richardson Lima richardsonlima@foxylinux.com 33
Brincando com Python !
#!/usr/bin/env python
import os
if os.path.isdir("/tmp"):
print "/tmp um diretrio"
else:
print "/tmp no um diretrio"
Por Richardson Lima richardsonlima@foxylinux.com 34
The central philosophy of Python
In [1]: import this
Por Richardson Lima richardsonlima@foxylinux.com 35
Contato
Richardson Lima ( hachid )
Email: richardsonlima@foxylinux.com
Website: http://richardsonlima.foxylinux.com
aMSN: richardson@hachid.com
Obtenha esta palestra em:
http://www.foxylinux.com/python/PythonPalestra-RichardsonLima-branco.pdf

You might also like