Python e 10 motivos por que devo conhece-la ?

1,324 views
1,166 views

Published on

Apresentação realizada no dia 18 de maio de 2013 no I Startup Developer Day em Recife/PE.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,324
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Python e 10 motivos por que devo conhece-la ?

  1. 1. Apresentando Python e10 motivos pelo qualdevo 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
  2. 2. http://www.slideshare.net/ramalho/python-a-arma-secreta-do-googleDisclaimerAlguns slides foramretirados da apt dogrande PythonistaLuciano Ramalho
  3. 3. Google em 1998
  4. 4. Disclaimer
  5. 5. Começando pelobásico...
  6. 6. Começando pelobásico...
  7. 7. Começando pelobásico...print “Hello World”
  8. 8. Mas o que seriaPython ?Linguagem de Programação interpretadaFácil de aprender e e altamente produtivaMulti-Paradigma: Implementa OO,Funcional e ProceduralMulti-plataforma, Open-source e Divertido!
  9. 9. Mas o que seriaPython ?lista = [‘laranja’,‘banana’, ‘uva’]lista.sort()for item in lista:print item.capitalize()
  10. 10. Quem usa o
  11. 11. Sim, então é tudo bomassim é ?http://en.wikipedia.org/wiki/Expressive_power
  12. 12. LinguagemExpressiva?O que issosignificana prática?LinguagemCOBOL
  13. 13. Java
  14. 14. PythonJava
  15. 15. Python tem sido uma parteimportante do Google desdeo início, e continua sendo àmedida que o sistema crescee evolui... estamos procurandomais pessoas com habilidadenesta linguagem.Peter Norvig, Google, Inc.
  16. 16. http://aima.cs.berkeley.edu/code.html
  17. 17. lis.py: interpretadorLisp (Scheme) em113 linhas de Python,por Peter Norvig
  18. 18. >>> 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
  19. 19. Exemplo: relógio gráficoimport Tkinterfrom time import strftimerelogio = Tkinter.Label()relogio.pack()relogio[font] = Helvetica 120 boldrelogio[text] = strftime(%H:%M:%S)def tictac():agora = strftime(%H:%M:%S)if agora != relogio[text]:relogio[text] = agorarelogio.after(100, tictac)tictac()relogio.mainloop()
  20. 20. Exemplo: cliente Twitterimport sysimport urllibimport jsonif 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))
  21. 21. Como colaborar em Python
  22. 22. Sim, então é tudo bomassim é ?1. Python ainda é lento
  23. 23. Sim, então é tudo bomassim é ?JIT Compiler em Python
  24. 24. YouTube
  25. 25. Globo.com
  26. 26. Mozilla Firefox Add-Ons
  27. 27. Dropbox
  28. 28. Google App Engine
  29. 29. The Foundry, NUKE
  30. 30. Industrial Light & Magic
  31. 31. Autodesk Maya
  32. 32. Civilization IV
  33. 33. FBI e CIA
  34. 34. brasil.gov.br
  35. 35. brasil.gov.br
  36. 36. Câmara dos Deputados
  37. 37. Integrações comoutras linguagens
  38. 38. 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 extenderPython ou usá-lo emcódigos C/C++http://docs.python.org/extending/extending.html
  39. 39. Python e .Netimport syssys.path.append(r’C:Python25Lib’)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(Formhttp://ironpython.net/
  40. 40. Python e muito mais!http://claymore.engineer.gvsu.edu/~steriana/Python/pymat.htmlPyMat - Matlabhttp://rpy.sourceforge.net/http://code.google.com/p/pyswip/http://appscript.sourceforge.net/
  41. 41. Tem alguém para pedirsocorro.Pycon US PythonBrasilPUG-PE
  42. 42. 24 hrs ao seu dispor!http://br.groups.yahoo.com/group/python-brasil/
  43. 43. PUG - PEGrupo de usuários de Python dePernambuco (@pugpe)http://groups.google.com/group/pug-pe?hl=pt-BR
  44. 44. Tem alguém para pedirsocorro.http://pythonpeople.znc.com.br/
  45. 45. diveintopython3.ep.io
  46. 46. http://pycursos.com
  47. 47. http://www.youtube.com/watch?v=1Db7r3ujUSQ
  48. 48. Assistentes direto do seu TalkConheça o cãocurseiro (@caocurseiro)Mascote do Atepassar que fala, dorme,menciona, segue e até RT.
  49. 49. AtepassarMarço 2013
  50. 50. Rápida HistóriaFundada há 3 anos atrás3 funcionários, apenas 1 não-era-de-computacaoTrafégo de 1milhão de visitas/mês250 mil usuários cadastrados, 30k ativos
  51. 51. 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/sRDS  –  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  StorageInfrastructure
  52. 52. 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
  53. 53. e aí preparado ?
  54. 54. Você pode escolherficar no vermelho...
  55. 55. Você pode escolherficar no vermelho...
  56. 56. Ou ser “Livre”
  57. 57. Marcel Caraciolo@marcelcaraciolomarcel@atepassar.com oumarcel@caraciolo.com.brcontato
  58. 58. Marcel Caraciolo@marcelcaraciolomarcel@atepassar.com oumarcel@caraciolo.com.brcontato
  59. 59. Apresentando Python e10 motivos pelo qualdevo 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

×