O documento descreve 10 razões para aprender a linguagem de programação Python. Ele discute como Python é uma linguagem elegante, poderosa e sofisticada, e como já vem com muitas bibliotecas e ferramentas úteis. O documento também explica que Python é amplamente utilizado por grandes organizações como Google e YouTube.
Palestra realizada no dia 10/02/2011 no X Encontro do Grupo de Usuários de Python na Livraria Cultura (Recife -Pernambuco). Palestra com o título: "Conhecendo Python e por que ela importa ? "
Lecture presented at February 09th at X Meeting of Pernambuco Python User Group at Livraria Cultura (Recife - Pernambuco - Brazil) with the title: ' Meeting Python and why does it care ? "
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
Apresentação utilizada na palestra realizada no dia 08/10/2014 na faculdade Meta, contendo uma introdução sobre a linguagem de programação Python, suas aplicações, empresas que utilizam e exemplos de uso aplicado a algumas situações, mostrando o potencial desta linguagem, que vai desde o acesso a bancos de dados, geração de sites, aplicações desktop e web multiplataformas (windows, linux, freebsd, MacOS), web, mineração de dados, inteligência artificial, até o desenvolvimento de aplicações mobile (android, iOS).
Slide da palestra sobre Python.
Programando em Python, 27 de Agosto às 19h (na Fuctura)
Por Richardson Lima, administrador de redes do grupo de pesquisas avançadas em redes de computadores, realidade virtual e multimídia na Universidade Federal de Pernambuco e desenvolvedor da comunidade Debian (sobre o curso)
Apresentando a Linguagem de Programação PythonPriscila Mayumi
Slides para apresentação da linguagem Python. Trabalho para a matéria "Novas Tecnologias" na Universidade Metodista de São Paulo. Lembrando que eu tive que estudar muito sobre, pois nunca tive um contato "suficiente" com Python.
Apresentação feita para introduzir Python a programadores de outras linguagens, mostrando alguns dos recursos da linguagem, programação funcional, orientação a objetos, list comprehensions, splicing, metaprogramação, dentre outras funcionalidades.
Código dos exercícios: https://github.com/BrunoCodeman/dojo_python
Palestra realizada no dia 10/02/2011 no X Encontro do Grupo de Usuários de Python na Livraria Cultura (Recife -Pernambuco). Palestra com o título: "Conhecendo Python e por que ela importa ? "
Lecture presented at February 09th at X Meeting of Pernambuco Python User Group at Livraria Cultura (Recife - Pernambuco - Brazil) with the title: ' Meeting Python and why does it care ? "
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
Apresentação utilizada na palestra realizada no dia 08/10/2014 na faculdade Meta, contendo uma introdução sobre a linguagem de programação Python, suas aplicações, empresas que utilizam e exemplos de uso aplicado a algumas situações, mostrando o potencial desta linguagem, que vai desde o acesso a bancos de dados, geração de sites, aplicações desktop e web multiplataformas (windows, linux, freebsd, MacOS), web, mineração de dados, inteligência artificial, até o desenvolvimento de aplicações mobile (android, iOS).
Slide da palestra sobre Python.
Programando em Python, 27 de Agosto às 19h (na Fuctura)
Por Richardson Lima, administrador de redes do grupo de pesquisas avançadas em redes de computadores, realidade virtual e multimídia na Universidade Federal de Pernambuco e desenvolvedor da comunidade Debian (sobre o curso)
Apresentando a Linguagem de Programação PythonPriscila Mayumi
Slides para apresentação da linguagem Python. Trabalho para a matéria "Novas Tecnologias" na Universidade Metodista de São Paulo. Lembrando que eu tive que estudar muito sobre, pois nunca tive um contato "suficiente" com Python.
Apresentação feita para introduzir Python a programadores de outras linguagens, mostrando alguns dos recursos da linguagem, programação funcional, orientação a objetos, list comprehensions, splicing, metaprogramação, dentre outras funcionalidades.
Código dos exercícios: https://github.com/BrunoCodeman/dojo_python
Educação Continuada: uma necessidade; Graduação ou Certificação?; Certificações de Fabricantes; Graduação em Informática; Pós-Graduação – Especialização, Mestrado e Doutorado.
Palestra apresentada aos alunso do curso técnico em informática da Escola Técnica Tupy de São Bento do Sul/SC.
Introdução a programação com Python (para jornalistas)Álvaro Justen
Slides do mini-curso de introdução a programação utilizando a linguagem Python, focado em jornalistas.
Esse mini-curso foi ministrado durante o 12o Congresso da ABRAJI (1 de julho de 2017).
Palestra sobre educação continuada ministrada no Instituto Federal Catariense, em Araquari, em Junho de 2009, em parceria com o Prof. Alexandre Cidral, da Univille.
1. Por que Python?
10 raz˜es para aprender Python
o
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e
25 de outubro de 2007
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
2. Uma breve introdu¸˜o
ca
desse que vos fala
Mestre em Ciˆncia da Computa¸˜o pela UFSC
e ca
1
Especialista em Redes pela UFSC
2
Graduado em Processamento de Dados pela UDESC
3
T´cnico em Processamento de Dados pela ETT
e
4
Professor desde 1995
5
Membro fundador do Grupo de Usu´rio Linux de Joinville
a
6
(Guxlle)
Membro fundador da Associa¸˜o Python Brasil (APyB)
ca
7
Diretor Acadˆmico da APyB
e
8
Entusiasta de Software Livre
9
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
3. Uma breve introdu¸˜o
ca
Sobre a linguagem
Criada por Guido van Rossum em 1991
1
Origem do nome: programa de TV Monty Python and the
2
Flying Circus
Sintaxe simples e f´cil de ser assimilada
a
3
Linguagem Orientada ` objetos com suporte aos paradigmas
a
4
estrutural e funcional
Tipagem Forte e Dinˆmica
a
5
Multiplataforma
6
Interpretada: compila para bytecode e interpreta
7
Ambiente Interativo
8
Licen¸a Open Source compat´ com a GPL
c ıvel
9
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
4. Raz˜o 1:
a
Python ´ legal
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
5. 1 - Python ´ legal
e
Simples e leg´
ıvel
# Fibonacci # Fatorial
a =1 n = int ( raw_input ( quot; Fatorial de : quot; ))
b =1 fatorial = 1
while a < 800: print quot; % d ! = quot; %n ,
print a , i=n
a,b = b,a+b while i > 0:
fatorial = fatorial * i
print quot; % d quot; %i ,
if i != 1: print quot; . quot; ,
i -= 1
# Primos
ehprimo = True
numero = input ( quot; Informe o numero : quot; )
i=2
while i < numero :
if numero % i == 0:
ehprimo = False
break
i += 1
if ehprimo :
print quot; Primo : quot; , numero
else :
print numero , ’ possui fator ’ , i
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
6. 1 - Python ´ legal
e
Clara e elegante
from math import sqrt
print quot; Primos : 2 quot; ,
c , p , primos , limite = 1 , 1 , [2 ,] , 1000
for numero in xrange (3 , limite +1 ,2):
ehprimo = 1
for i in primos :
c += 1
if numero % i == 0:
ehprimo = 0
break
if i > sqrt ( numero ):
break
if ehprimo :
primos . append ( numero )
print numero ,
p += 1
print quot; n nForam encontrados % d numeros primos . quot; % p
print quot; Foram necessarias % d comparacoes . quot; % c
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
7. 1 - Python ´ legal
e
Poderosa e sofisticada
arquivo = open ( quot; emails . txt quot; )
dominios = {}
for contato in arquivo :
resto , dominio = contato . split ( quot; @ quot; )
dominio = dominio . replace ( quot; r n quot; , quot; quot; )
if dominio in dominios :
dominios [ dominio ] += 1
else :
dominios [ dominio ] = 1
arquivo . close ()
arquivo = open ( quot; dominios . txt quot; , quot; w quot; )
print quot; % -30 s - % -5 s quot; %( quot; Dominios quot; , quot; Ocorrencias quot; )
for dominio in dominios . keys ():
print quot; % -30 s - % -5 d quot; %( dominio , dominios [ dominio ])
registro = quot; % s ;% s n quot; %( dominio , dominios [ dominio ])
arquivo . write ( registro )
arquivo . close ()
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
8. Raz˜o 2:
a
Python j´ vem com os acess´rios
a o
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
9. 2 - Python j´ vem com os acess´rios
a o
e eles fazem a diferen¸a
c
import urllib
pagina = urllib . urlopen ( quot; http :// br - linux . org quot; )
for linha in pagina :
if quot; node - title quot; not in linha :
tmp = linha . split ( ’& gt ; ’ ,2)[2]
nome = tmp . split ( ’& lt ; ’ ,1)[0]
print nome
pagina . close ()
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
10. 2 - Python j´ vem com os acess´rios
a o
e eles fazem a diferen¸a
c
arquivo = open ( quot; squid . log quot; ,quot; r quot; )
lista = arquivo . readlines ()
arquivo . close ()
sites =[]
for linha in lista :
try :
if quot; DENIED quot; in linha :
inicio = linha . index ( quot; // quot; )
fim = linha . index ( quot; / quot; , inicio +2)
site = linha [ inicio +2: fim ]
sites . append ( site )
except :
pass
dicSites = {}
for site in sites :
dicSites [ site ] = dicSites . get ( site ,0) + 1
l i s t a S i t e s O r d e n a d a = sorted ( dicSites . items () , key = item getter (1))
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
11. 2 - Python j´ vem com os acess´rios
a o
e eles fazem a diferen¸a
c
Bibliotecas:
persistˆncia de objetos
e
1
banco de dados
2
gera¸˜o de pdfs
ca
3
gera¸˜o de gr´ficos
ca a
4
protocolos de redes
5
web
6
criptografia
7
muito mais...
8
http://www.pythonbrasil.com.br/moin.cgi/CookBook
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
12. Raz˜o 3:
a
Python ´ utilizado l´ fora
e a
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
13. 3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸˜es
co
Google
http://web.archive.org/web/19990204033714/google.stanford.edu/about.html
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
14. 3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸˜es
co
Google
”Python tem sido uma parte importante do Google desde o in´ ıcio,
e permanece assim conforme o sistema cresce e evolui. Hoje,
dezenas de engenheiros do Google usam Python, e estamos
procurando por mais pessoas com conhecimento nessa
linguagem.”Peter Norvig, diretor de qualidade de busca do Google Inc.
http://www.pythonbrasil.com.br/moin.cgi/PythonNoGoogle
”[...] nossa filosofia geral ´ ’Python onde podemos, C++ onde
e
somos obrigados.’ Python n˜o ´ definitivamente apenas um
ae
pequeno peda¸o, nem ´ usado apenas para tarefas ’de scripting’; se
c e
fic´ssemos sem todo nosso c´digo Python de uma hora para outra,
a o
nossa poderosa infra-estrutura que tem sido descrita como ’a arma
secreta do Google’ ficaria abalada.”Alex Martelli, L´ T´cnico,
ıder e
Sistemas de Produ¸˜o, Google Inc.
ca
http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
15. 3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸˜es
co
Youtube
”Python ´ r´pido o suficiente para o nosso site e permite que n´s
ea o
produzamos caracter´ısticas que pode ser mantidas em tempo
recorde, com um m´ınimo de desenvolvedores.”Cuong Do, Arquiteto de
Software, YouTube.com
http://www.python.org/about/quotes/
”O YouTube (uma das propriedades mais valiosas do Google) ´ e
essencialmente todo Python [...].”Alex Martelli, L´ T´cnico, Sistemas
ıder e
de Produ¸˜o, Google Inc.
ca
http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
16. 3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸˜es
co
Industrial Light and Magic
”Python desempenha um papel-chave no nosso esquema de
produ¸˜o. Sem ela um projeto do tamanho de ’Guerras de Estrela:
ca
Epis´dio II’ teria sido muito dif´ de sair. Da renderiza¸˜o da
o ıcil ca
multid˜o ao processamento em lote e a composi¸˜o, Python
a ca
mant´m todas as partes unidas.”Tommy Burnette, Diretor T´cnico
e e
Sˆnior, ILM
e
http://www.python.org/about/quotes/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
17. 3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸˜es
co
DreamWorks
”Gostar´ıamos de ser tudo Python, mas hoje ainda temos muito de
Perl.”Ed Leonard, Diretor de Tecnologia de Anima¸˜o, DreamWorks
ca
”A nossa equipe tem baseado a transi¸˜o de Perl para Python na
ca
facilidade. H´ trˆs raz˜es prim´rias para isso. A cria¸˜o de
ae o a ca
bindings em Python para uma biblioteca C++ ´ muito f´cil [...]. A
e a
natureza orientada a objeto de Python ´ muito atraente [...]. E
e
Python ´ uma cidad˜ de primeira classe [...] na nossa ind´stria. ”
e a u
Darin Grant, Chefe de Produ¸˜o de Tecnologia, DreamWorks
ca
http://marrcandre.blogspot.com/2007/06/linux-alimentando-o-ogro.html
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
18. 3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸˜es
co
Diversos outros exemplos:
Nokia
1
RedHat
2
Canonical
3
OpenOffice
4
Blender
5
Gimp
6
http://www.python.org/about/success/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
19. Raz˜o 4:
a
Python ´ utilizado aqui dentro
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
20. 4 - Python ´ utilizado aqui dentro
e
com sucesso
Async - Stoq: aplicativos livres para gest˜o comercial
a
http://www.async.com.br
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
21. 4 - Python ´ utilizado aqui dentro
e
com sucesso
LZT - AutoSystem: automa¸˜o de postos de combust´
ca ıvel
http://www.lzt.com.br/autosystem.php
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
22. 4 - Python ´ utilizado aqui dentro
e
com sucesso
INdT - Instituto Nokia de Tecnologia
http://www.indt.org.br
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
23. 4 - Python ´ utilizado aqui dentro
e
com sucesso
InVesalius - Reconstru¸˜o 3D de imagens m´dicas
ca e
http://www.cenpra.gov.br/promed/software.htm
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
24. Raz˜o 5:
a
Python ´ utilizado na web ao redor do mundo
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
25. 5 - Python ´ utilizado na web
e
ao redor do mundo
AOL Music Canada
http://music.aol.ca/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
26. 5 - Python ´ utilizado na web
e
ao redor do mundo
Novell
http://www.novell.com/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
27. 5 - Python ´ utilizado na web
e
ao redor do mundo
CIA
https://www.cia.gov/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
28. 5 - Python ´ utilizado na web
e
ao redor do mundo
Outros sites:
Free Software Foundation
1
Bah´’´ International Community
aı
2
Nokia
3
Octagon
4
Oxfam America
5
Trolltech
6
http://plone.net/sites/
http://code.djangoproject.com/wiki/DjangoPoweredSites
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
29. Raz˜o 6:
a
Python ´ utilizado na web aqui no Brasil
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
30. 6 - Python ´ utilizado na web
e
aqui no Brasil
IDG Brasil
http://www.idg.com.br/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
31. 6 - Python ´ utilizado na web
e
aqui no Brasil
Vericia - Busca de Im´veis
o
http://www.vericia.com
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
32. 6 - Python ´ utilizado na web
e
aqui no Brasil
Rep´blica Federativa do Brasil
u
http://www.brasil.gov.br
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
33. 6 - Python ´ utilizado na web
e
aqui no Brasil
Muitos outros exemplos:
Cˆmara dos deputados
a Presidˆncia da Rep´blica
e u
Carta Capital SEBRAE
CertiSign SERPRO
Linux Magazine UNESCO Brasil
OAB/SP Varig
Politec Veja Larousse
http://webinsider.uol.com.br/index.php/2006/08/28/python-e-opcao-para-desenvolvimento-web/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
34. Raz˜o 7:
a
Tem emprego para programadores Python
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
35. 7 - Tem emprego para programadores Python
sem sair daqui
Google Brasil - Belo Horizonte
http://www.google.com.br/support/jobs/bin/answer.py?answer=40943
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
36. 7 - Tem emprego para programadores Python
sem sair daqui
INdT - Recife
http://www.nabble.com/Oportunidade-Imperd%C3%ADvel-de-Emprego-no-Recife-p10955269.html
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
37. 7 - Tem emprego para programadores Python
sem sair daqui
Ao redor do Brasil - talvez da sua casa!
Async Open Source
1
LZT Inform´tica
a
2
Governo Brasileiro
3
Sebrae
4
Serpro
5
Simples Consultoria
6
Weimar Consultoria
7
Bons programadores Python n˜o ficam sem emprego no Brasil
a
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
38. Raz˜o 8:
a
Python conversa com outras linguagens
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
39. 8 - Python conversa com as outras linguagens
e convive bem com elas
C e C++
void initspam ( void );
static PyObject * spam_system ( PyObject * self , PyObject * args );
static PyObject * spam_system ( self , args )
PyObject * self ;
PyObject * args ; {
char * orden ; int sts ;
if (! P y A r g _ P a r s e T u p l e ( args , quot; s quot; , & orden ))
return NULL ;
sts = system ( orden );
return Py_BuildValue ( quot; i quot; , sts ); }
static PyMethodDef SpamMethods [] = {
{ quot; system quot; , spam_system , METH_VARARGS } ,
{ NULL , NULL } };
void
initspam (){( void ) Py_InitModule ( quot; spam quot; , SpamMethods );}
int main ( int argc , char ** argv ){
P y _ S e t P r o g r a m N a m e ( argv [0]);
Py_Initialize ();
initspam ();
return 1; }
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
40. 8 - Python conversa com as outras linguagens
e convive bem com elas
Java: Jython
import javax . swing as libswing
pnumero = libswing . JOptionPane . sh o wI np ut D ia lo g ( quot; Digite um Numero Inteiro : quot; )
snumero = libswing . JOptionPane . sh o wI np ut D ia lo g ( quot; Digite um Numero Inteiro : quot; )
soma = int ( pnumero ) + int ( snumero )
libswing . JOptionPane . s h o w M e s s a g e D i a l o g ( None , quot; Soma : % d quot; % soma )
http://www.linhadecodigo.com.br/Artigo.aspx?id=496
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
41. 8 - Python conversa com as outras linguagens
e convive bem com elas
.Net: IronPython
import clr
clr . AddReference ( quot; System . Windows . Forms quot; )
from System . Windows . Forms import *
class FormV3 ( Form ):
def __init__ ( self ):
self . Text = ’ Hello World ’
self . Controls . Add ( Label ( Text = ’ Enter Message : ’ ))
self . txtMessage = TextBox ( Left =100)
self . Controls . Add ( self . txtMessage )
msgButton = Button ( Text = ’ Message ’ , Left =20 , Top =25)
msgButton . Click += self . O n M s g B u t t o n C l i c k
self . Controls . Add ( msgButton )
def O n M s g B u t t o n C l i c k ( self , * args ):
MessageBox . Show ( self . txtMessage . Text , quot; Message quot; )
Application . Run ( FormV3 ())
http://www.codeplex.com/IronPython/Wiki/View.aspx?title=Samples
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
42. Raz˜o 9:
a
Python ´ multiplataforma
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
43. 9 - Python ´ multiplataforma
e
Linux
1
Unix
2
Windows
3
MacOS
4
At´ aqui, nada de surpreendente, certo?
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
44. 9 - Python ´ multiplataforma
e
Maemo
http://www.maemo.org
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
45. 9 - Python ´ multiplataforma
e
XO/OLPC
Grande parte do projeto ´ desenvolvida em Python, incluindo:
e
1 A interface gr´fica Sugar
a
2 V´rias aplica¸˜es e jogos
a co
3 O sistema de arquivos
http://wiki.laptop.org/go/Python
http://www.freesoftwaremagazine.com/blogs/olpc_kicks_off_pycon_2007
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
46. 9 - Python ´ multiplataforma
e
PyS60 - Celulares Nokia S´rie 60
e
http://wiki.opensource.nokia.com/projects/PyS60
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
47. 9 - Python ´ multiplataforma
e
iPhone
O Django foi uma das primeiras aplica¸˜es complexas portadas
co
http://devlog.waltercruz.com/django_rodando_no_iphone
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
48. Raz˜o 10:
a
Python ´ multiparadigma
e
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
49. 10 - Python ´ multiparadigma
e
Programa¸˜o Estruturada
ca
import random
def jogaDados ():
dado1 = random . randrange (1 ,7)
dado2 = random . randrange (1 ,7)
somaTemp = dado1 + dado2
print quot; Jogador tirou % d + % d = % d quot; %( dado1 , dado2 , somaTemp )
return somaTemp
soma = jogaDados ()
if soma == 7 or soma == 11:
situacaoJogo = quot; GANHOU quot;
elif soma == 2 or soma == 3 or soma == 12:
situacaoJogo = quot; PERDEU quot;
else :
situacaoJogo = quot; CONTINUA quot;
meuPonto = soma
print quot; Ponto : quot; , meuPonto
while situacaoJogo == quot; CONTINUA quot; :
soma = jogaDados ()
if soma == meuPonto : situacaoJogo = quot; GANHOU quot;
elif soma == 7: situacaoJogo = quot; PERDEU quot;
if situacaoJogo == quot; GANHOU quot; : print quot; Jogador ganha quot;
else : print quot; Jogador perde quot;
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
50. 10 - Python ´ multiparadigma
e
Programa¸˜o Orientada a Objetos
ca
class Fracao ( object ): python -i poo - fracoes . py
def __mdc ( self , m , n ): >>> a = Fracao (5 ,7)
if m % n == 0: >>> b = Fracao (3 ,4)
return n >> r1 = a * b
else : >>> print r1
return self . __mdc (n , m % n ) 15/28
>>> c = Fracao (3 ,5)
def __init__ ( self , numerador , denominador =1): >> r2 = a * c
g = self . __mdc ( numerador , denominador ) >>> print r2
self . numerador = numerador / g 3/7
self . denominador = denominador / g
def __repr__ ( self ):
return quot; % d /% d quot; %( self . numerador ,
self . denominador )
def __mul__ ( self , outro ):
if isinstance ( outro , int ):
outro = Fracao ( outro )
return Fracao ( self . numerador * outro . numerador ,
self . denominador * outro . denominador )
__rmul__ = __mul__
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
51. 10 - Python ´ multiparadigma
e
Programa¸˜o Funcional
ca
# Primos menores que 1000
print filter ( None , map ( lambda y : y * reduce ( lambda x , y : x * y !=0 ,
map ( lambda x , y = y : y %x , range (2 , int ( pow (y ,0.5)+1))) ,1) , range (2 ,10 00)))
# F i b o n a c c i : 10 p r i m e i r o s numeros
print map ( lambda x , f = lambda x , f :( x <=1) or ( f (x -1 , f )+ f (x -2 , f )): f (x , f ) ,
range (10))
# Conjunto de M a n d e l b r o t
print ( lambda Ru , Ro , Iu , Io , IM , Sx , Sy : reduce ( lambda x , y : x +y , map ( lambda y ,
Iu = Iu , Io = Io , Ru = Ru , Ro = Ro , Sy = Sy , L = lambda yc , Iu = Iu , Io = Io , Ru = Ru , Ro = Ro , i = IM ,
Sx = Sx , Sy = Sy : reduce ( lambda x , y : x +y , map ( lambda x , xc = Ru , yc = yc , Ru = Ru , Ro = Ro ,
i =i , Sx = Sx , F = lambda xc , yc ,x ,y ,k , f = lambda xc , yc ,x ,y ,k , f :( k <=0) or ( x * x + y * y
>=4.0) or 1+ f ( xc , yc , x *x - y * y + xc ,2.0* x * y + yc ,k -1 , f ): f ( xc , yc ,x ,y , k , f ): chr (
64+ F ( Ru + x *( Ro - Ru )/ Sx , yc ,0 ,0 , i )) , range ( Sx ))): L ( Iu + y *( Io - Iu )/ Sy ) , range ( Sy
))))( -2.1 , 0.7 , -1.2 , 1.2 , 30 , 80 , 24)
http://www.pythonbrasil.com.br/moin.cgi/PythonFuncional
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
52. Bˆnus 1: 11 - Python ´ boa como primeira linguagem
o e
aprenda a programar com Python
Uso no IST desde 2004 com sucesso
1
V´rios iniciativas no Brasil e no mundo
a
2
MIT copiou nossa id´ia :)
e
3
Faz bem ` auto-estima do iniciante
a
4
Uso pode ser extrapolado para outras mat´rias
e
5
http://www.amk.ca/diary/2006/11/mit_to_try_python_for_introduc.html
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
53. Bˆnus 2: 12 - Existe uma comunidade forte
o
vocˆ tem com quem contar
e
Lista python-brasil: cerca 500 mensagens por mˆs.
e
1
Associa¸˜o Python Brasil: amadurecimento da comunidade
ca
2
PyConBrasil: evento de alto n´ t´cnico
ıvel e
3
FISL: outra oportunidade de um encontro anual
4
Diversos grupos de usu´rios ao redor do Brasil
a
5
http://pythonbrasil.com.br
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
54. Agradecimentos
Eduardo Dutka
1
Eduardo da Silva
2
Elvis Pf¨tzenreuter
u
3
´
Erico Andrei
4
Mehran Misaghi
5
Osvaldo Santana Neto
6
Rodrigo Curvˆllo
e
7
Rodrigo Senra
8
Ramiro Luz
9
E muito obrigado a todos vocˆs pela presen¸a!
e c
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
55. Discuss˜o
a
Um de cada vez, por favor ;-)
Contato:
google*:
1 marcoandre@gmail.com
blog:
2 http://marrcandre.blogspot.com
slideshare:
3 http://slideshare.com/marrcandre
Muito obrigado!
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
56. Referˆncias
e
http://pythonBrasil.com.br
http://python.org
http://www.pyConBrasil.com.br
http://associacao.pythonBrasil.com.br
http://www.pythonBrasil.com.br/moin.cgi/CookBook
http://web.archive.org/web/19990204033714/google.stanford.edu/about.html
http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/
http://www.python.org/about/quotes/
http://www.pythonbrasil.com.br/moin.cgi/PythonNoGoogle
http://www.sounerd.com.br/index.php?option=com_content&task=view&id=191&Itemid=43
http://panela.blog-city.com/python_at_google_greg_stein__sdforum.htm
http://marrcandre.blogspot.com/2007/06/linux-alimentando-o-ogro.html
http://www.python.org/about/success/
http://www.async.com.br
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
57. Referˆncias
e
http://www.lzt.com.br/autosystem.php
http://www.indt.org.br
http://music.aol.ca/
http://www.novell.com/
https://www.cia.gov/
http://plone.net/sites/
http://code.djangoproject.com/wiki/DjangoPoweredSites
http://www.idg.com.br/
http://www.vericia.com
http://www.brasil.gov.br
http:
//webinsider.uol.com.br/index.php/2006/08/28/python-e-opcao-para-desenvolvimento-web/
http://www.google.com.br/support/jobs/bin/answer.py?answer=40943
http://www.nabble.com/Oportunidade-Imperd%C3%ADvel-de-Emprego-no-Recife-p10955269.html
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?
58. Referˆncias
e
http://www.maemo.org
http://wiki.laptop.org/go/Python
http://www.freesoftwaremagazine.com/blogs/olpc_kicks_off_pycon_2007
http://wiki.opensource.nokia.com/projects/PyS60
http://www.epx.com.br/artigos/pys60.php
http://devlog.waltercruz.com/django_rodando_no_iphone
http://www.pythonbrasil.com.br/moin.cgi/PythonFuncional
http://www.cenpra.gov.br/promed/software.htm
http://www.codeplex.com/IronPython/Wiki/View.aspx?title=Samples
http://www.pythonbrasil.com.br/moin.cgi/PythonComC
http://www.pythonbrasil.com.br/moin.cgi/ExtendendoCPython
http://www.amk.ca/diary/2006/11/mit_to_try_python_for_introduc.html
fatorw.com/2007/04/14/arte-do-comeco/
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
e Por que Python?