python e 10 motivos por que devo conhece-la ?
DESCRIPTION
Apresentação realizada no dia 18 de maio de 2013 no I Startup Developer Day em Recife/PE.TRANSCRIPT
![Page 1: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/1.jpg)
Apresentando Python e 10 motivos pelo qual devo conhece-lo ?!
Marcel Caraciolo@marcelcaracioloDeveloper, Cientist, contributor to the Crab recsys project,works with Python for 6 years, interested at mobile,education, machine learning and dataaaaa!Recife, Brazil - http://aimotion.blogspot.com
![Page 2: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/2.jpg)
http://www.slideshare.net/ramalho/python-a-arma-secreta-do-google
Disclaimer
Alguns slides foram retirados da apt do grande Pythonista Luciano Ramalho
![Page 3: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/3.jpg)
Google em 1998
![Page 4: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/4.jpg)
![Page 5: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/5.jpg)
![Page 6: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/6.jpg)
Disclaimer
![Page 7: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/7.jpg)
Começando pelo básico...
![Page 8: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/8.jpg)
Começando pelo básico...
![Page 9: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/9.jpg)
Começando pelo básico...
print “Hello World”
![Page 10: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/10.jpg)
Mas o que seria Python ?
Linguagem de Programação interpretada
Fácil de aprender e e altamente produtiva
Multi-Paradigma: Implementa OO, Funcional e Procedural
Multi-plataforma, Open-source e Divertido!
![Page 11: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/11.jpg)
Mas o que seria Python ?
lista = [‘laranja’, ‘banana’, ‘uva’]lista.sort()
for item in lista: print item.capitalize()
![Page 12: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/12.jpg)
Quem usa o
![Page 13: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/13.jpg)
Sim, então é tudo bom assim é ?
http://en.wikipedia.org/wiki/Expressive_power
![Page 14: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/14.jpg)
LinguagemExpressiva?
O que issosignifica
na prática?
Linguagem COBOL
![Page 15: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/15.jpg)
Java
![Page 16: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/16.jpg)
Python
Java
![Page 17: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/17.jpg)
Python tem sido uma parte importante do Google desdeo início, e continua sendo à medida que o sistema crescee evolui... estamos procurando mais pessoas com habilidade nesta linguagem.
Peter Norvig, Google, Inc.
![Page 18: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/18.jpg)
http://aima.cs.berkeley.edu/code.html
![Page 19: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/19.jpg)
lis.py: interpretador Lisp (Scheme) em
113 linhas de Python,por Peter Norvig
![Page 20: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/20.jpg)
>>> from lis import repl>>> repl()lis.py> (* 7 3)21lis.py> (define resposta (* 6 7))lis.py> resposta42lis.py> (define ! (lambda (n) (if (= n 0) 1 (* n (! (- n 1))))))lis.py> (! 4)24lis.py> (! 5)120lis.py> (! 197)100078405584080821221303894971344736599047761241456431563720437191558734323562679929991407036696693556694737848195477238497746661367777918006944650646265409257583733981874437495228286501182991424477395086576066353467353335798727837835328694280439305522603073118823862831864630209655642361092292378406702568679608855350476800000000000000000000000000000000000000000000000lis.py> !<function <lambda> at 0x1004cbd70>lis.py>
lis.py
![Page 21: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/21.jpg)
Exemplo: relógio gráfico
import Tkinterfrom time import strftime
relogio = Tkinter.Label()
relogio.pack()relogio['font'] = 'Helvetica 120 bold'relogio['text'] = strftime('%H:%M:%S')
def tictac(): agora = strftime('%H:%M:%S') if agora != relogio['text']: relogio['text'] = agora relogio.after(100, tictac)
tictac()relogio.mainloop()
![Page 22: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/22.jpg)
Exemplo: cliente Twitterimport sysimport urllibimport json
if len(sys.argv) == 2: busca = sys.argv[1]else: print 'Informe o texto da busca: {0} "texto"'.format(__file__) sys.exit(1)
url = 'http://search.twitter.com/search.json?q='+buscaresposta = urllib.urlopen(url).read()documento = json.loads(resposta)resultados = documento['results']for resultado in resultados: print u'{from_user}: {text}\n'.format(**resultado)print '{0} resuldados exibidos'.format(len(resultados))
![Page 23: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/23.jpg)
![Page 24: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/24.jpg)
![Page 25: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/25.jpg)
![Page 26: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/26.jpg)
![Page 27: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/27.jpg)
Como colaborar em Python
![Page 28: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/28.jpg)
Sim, então é tudo bom assim é ?
1. Python ainda é lento
![Page 29: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/29.jpg)
Sim, então é tudo bom assim é ?
JIT Compiler em Python
![Page 30: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/30.jpg)
YouTube
![Page 31: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/31.jpg)
Globo.com
![Page 32: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/32.jpg)
Mozilla Firefox Add-Ons
![Page 33: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/33.jpg)
Dropbox
![Page 34: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/34.jpg)
Google App Engine
![Page 35: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/35.jpg)
The Foundry, NUKE
![Page 36: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/36.jpg)
Industrial Light & Magic
![Page 37: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/37.jpg)
Autodesk Maya
![Page 38: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/38.jpg)
Civilization IV
![Page 39: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/39.jpg)
FBI e CIA
![Page 40: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/40.jpg)
brasil.gov.br
![Page 41: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/41.jpg)
brasil.gov.br
![Page 42: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/42.jpg)
Câmara dos Deputados
![Page 43: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/43.jpg)
![Page 44: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/44.jpg)
Integrações com outras linguagens
![Page 45: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/45.jpg)
Python e C/C++static PyObject *my_callback = NULL;
static PyObject *my_set_callback(PyObject *dummy, PyObject *args){ PyObject *result = NULL; PyObject *temp;
if (PyArg_ParseTuple(args, "O:set_callback", &temp)) { if (!PyCallable_Check(temp)) { PyErr_SetString(PyExc_TypeError, "parameter must be callable"); return NULL; } Py_XINCREF(temp); /* Add a reference to new callback */ Py_XDECREF(my_callback); /* Dispose of previous callback */ my_callback = temp; /* Remember new callback */ /* Boilerplate to return "None" */ Py_INCREF(Py_None); result = Py_None; } return result;}
Você pode extender Python ou usá-lo em
códigos C/C++
http://docs.python.org/extending/extending.html
![Page 46: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/46.jpg)
Python e .Net
import syssys.path.append(r’C:\Python25\Lib’)import clrclr.AddReference(“System.Windows.Forms”)from System.Windows.Forms import Application,Formclass Hello World(Form): def __init__(self): self.Text = ʻHello Worldʼ self.Name = ʻHello Worldʼ
form = HelloWorld(Form)Application.Run(Form
http://ironpython.net/
![Page 47: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/47.jpg)
Python e muito mais!
http://claymore.engineer.gvsu.edu/~steriana/Python/pymat.html
PyMat - Matlab
http://rpy.sourceforge.net/
http://code.google.com/p/pyswip/
http://appscript.sourceforge.net/
![Page 48: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/48.jpg)
Tem alguém para pedirsocorro.
Pycon US PythonBrasilPUG-PE
![Page 49: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/49.jpg)
24 hrs ao seu dispor!
http://br.groups.yahoo.com/group/python-brasil/
![Page 50: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/50.jpg)
PUG - PE
Grupo de usuários de Python de Pernambuco (@pugpe)
http://groups.google.com/group/pug-pe?hl=pt-BR
![Page 51: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/51.jpg)
Tem alguém para pedirsocorro.
http://pythonpeople.znc.com.br/
![Page 52: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/52.jpg)
![Page 55: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/55.jpg)
http://www.youtube.com/watch?v=1Db7r3ujUSQ
![Page 56: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/56.jpg)
Assistentes direto do seu Talk
Conheça o cãocurseiro (@caocurseiro)
Mascote do Atepassar que fala, dorme, menciona, segue e até RT.
![Page 57: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/57.jpg)
Atepassar Março 2013
![Page 58: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/58.jpg)
Rápida História
Fundada há 3 anos atrás
3 funcionários, apenas 1 não-era-de-computacao
Trafégo de 1milhão de visitas/mês
250 mil usuários cadastrados, 30k ativos
![Page 59: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/59.jpg)
We s%ll rent hardware, cheaper to upgrade.
EC2 -‐ 8 instances from Micro to Large (Atepassar Store, Atepassar Network, RecSys, Q&A, Load Balancing)
SES – Quota of 575.000 e-‐mails per day sent at 90/s
RDS – MySQL – over 54 million I/O requests -‐ 40 GB stored. ( For storage)
S3 -‐ Over 10.0 GB and 15 million requests ( For staKc files )
We use Amazon third-‐party services such as MongoMachine/MongoHQ NoSQL Storage
Infrastructure
![Page 60: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/60.jpg)
Powered By Python – Django.
We are studying EMR MapReduce to power our recommender system. Over 100.000 recommendable items to suggest to our users.
Easy to deploy our apps and install our libraries Easy to upgrade our infra-‐structure. Security and tolerance-‐fault. Mix of services available for any big data startup around the world.
Technology
![Page 61: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/61.jpg)
![Page 62: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/62.jpg)
e aí preparado ?
![Page 63: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/63.jpg)
Você pode escolherficar no vermelho...
![Page 64: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/64.jpg)
Você pode escolherficar no vermelho...
![Page 65: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/65.jpg)
![Page 66: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/66.jpg)
Ou ser “Livre”
![Page 69: Python e 10 motivos por que devo conhece-la ?](https://reader033.vdocuments.us/reader033/viewer/2022051818/5496557eac79591d2e8b501d/html5/thumbnails/69.jpg)
Apresentando Python e 10 motivos pelo qual devo conhece-lo ?!
Marcel Caraciolo@marcelcaracioloDeveloper, Cientist, contributor to the Crab recsys project,works with Python for 6 years, interested at mobile,education, machine learning and dataaaaa!Recife, Brazil - http://aimotion.blogspot.com