SlideShare uma empresa Scribd logo
1 de 69
Baixar para ler offline
Apresentando Python e
10 motivos pelo qual
devo conhece-lo ?!
Marcel Caraciolo
@marcelcaraciolo
Developer, 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
http://www.slideshare.net/ramalho/python-a-arma-
secreta-do-google
Disclaimer
Alguns slides foram
retirados da apt do
grande Pythonista
Luciano Ramalho
Google em 1998
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?
Disclaimer
Começando pelo
básico...
Começando pelo
básico...
Começando pelo
básico...
print “Hello World”
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!
Mas o que seria
Python ?
lista = [‘laranja’,‘banana’, ‘uva’]
lista.sort()
for item in lista:
print item.capitalize()
Quem usa o
Sim, então é tudo bom
assim é ?
http://en.wikipedia.org/wiki/Expressive_power
Linguagem
Expressiva?
O que isso
significa
na prática?
Linguagem
COBOL
Java
Python
Java
Python tem sido uma parte
importante do Google desde
o início, e continua sendo à
medida que o sistema cresce
e evolui... estamos procurando
mais pessoas com habilidade
nesta linguagem.
Peter Norvig, Google, Inc.
http://aima.cs.berkeley.edu/code.html
lis.py: interpretador
Lisp (Scheme) em
113 linhas de Python,
por Peter Norvig
>>> from lis import repl
>>> repl()
lis.py> (* 7 3)
21
lis.py> (define resposta (* 6 7))
lis.py> resposta
42
lis.py> (define ! (lambda (n) (if (= n 0) 1 (* n (! (- n 1))))))
lis.py> (! 4)
24
lis.py> (! 5)
120
lis.py> (! 197)
10007840558408082122130389497134473659904776124145643156372043719
15587343235626799299914070366966935566947378481954772384977466613
67777918006944650646265409257583733981874437495228286501182991424
47739508657606635346735333579872783783532869428043930552260307311
88238628318646302096556423610922923784067025686796088553504768000
00000000000000000000000000000000000000000000
lis.py> !
<function <lambda> at 0x1004cbd70>
lis.py>
lis.py
Exemplo: relógio gráfico
import Tkinter
from 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()
Exemplo: cliente Twitter
import sys
import urllib
import 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='+busca
resposta = 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))
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?
Como colaborar em Python
Sim, então é tudo bom
assim é ?
1. Python ainda é lento
Sim, então é tudo bom
assim é ?
JIT Compiler em Python
YouTube
Globo.com
Mozilla Firefox Add-Ons
Dropbox
Google App Engine
The Foundry, NUKE
Industrial Light & Magic
Autodesk Maya
Civilization IV
FBI e CIA
brasil.gov.br
brasil.gov.br
Câmara dos Deputados
Python e 10 motivos por que devo conhece-la ?
Integrações com
outras linguagens
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
Python e .Net
import sys
sys.path.append(r’C:Python25Lib’)
import clr
clr.AddReference(“System.Windows.Forms”)
from System.Windows.Forms import Application,Form
class Hello World(Form):
def __init__(self):
self.Text = ʻHello Worldʼ
self.Name = ʻHello Worldʼ
form = HelloWorld(Form)
Application.Run(Form
http://ironpython.net/
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/
Tem alguém para pedir
socorro.
Pycon US PythonBrasil
PUG-PE
24 hrs ao seu dispor!
http://br.groups.yahoo.com/group/python-brasil/
PUG - PE
Grupo de usuários de Python de
Pernambuco (@pugpe)
http://groups.google.com/group/pug-pe?hl=pt-BR
Tem alguém para pedir
socorro.
http://pythonpeople.znc.com.br/
Python e 10 motivos por que devo conhece-la ?
diveintopython3.ep.io
http://pycursos.com
http://www.youtube.com/watch?v=1Db7r3ujUSQ
Assistentes direto do seu Talk
Conheça o cãocurseiro (@caocurseiro)
Mascote do Atepassar que fala, dorme,
menciona, segue e até RT.
Atepassar
Março 2013
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
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
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
Python e 10 motivos por que devo conhece-la ?
e aí preparado ?
Você pode escolher
ficar no vermelho...
Você pode escolher
ficar no vermelho...
Python e 10 motivos por que devo conhece-la ?
Ou ser “Livre”
Marcel Caraciolo
@marcelcaraciolo
marcel@atepassar.com ou
marcel@caraciolo.com.br
contato
Marcel Caraciolo
@marcelcaraciolo
marcel@atepassar.com ou
marcel@caraciolo.com.br
contato
Apresentando Python e
10 motivos pelo qual
devo conhece-lo ?!
Marcel Caraciolo
@marcelcaraciolo
Developer, 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

Mais conteúdo relacionado

Mais procurados

Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609gsroma
 
[FISL17] Liberando dados com um comando, por Álvaro Justen
[FISL17] Liberando dados com um comando, por Álvaro Justen[FISL17] Liberando dados com um comando, por Álvaro Justen
[FISL17] Liberando dados com um comando, por Álvaro JustenÁlvaro Justen
 
Intro
IntroIntro
Intropugpe
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Python tão rápido quanto FORTRAN?
Python tão rápido quanto FORTRAN?Python tão rápido quanto FORTRAN?
Python tão rápido quanto FORTRAN?Rodnny Fakhye
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaÁlvaro Justen
 
import brasil: Dados Abertos de Forma Fácil
import brasil: Dados Abertos de Forma Fácilimport brasil: Dados Abertos de Forma Fácil
import brasil: Dados Abertos de Forma FácilÁlvaro Justen
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação PythonCarlos Schults
 
Porque foi bom aprender com Python
Porque foi bom aprender com PythonPorque foi bom aprender com Python
Porque foi bom aprender com PythonFernando Rocha
 
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)Diogo Munaro Vieira
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Desbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaDesbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaMatheus Dos Santos Lima
 

Mais procurados (12)

Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
[FISL17] Liberando dados com um comando, por Álvaro Justen
[FISL17] Liberando dados com um comando, por Álvaro Justen[FISL17] Liberando dados com um comando, por Álvaro Justen
[FISL17] Liberando dados com um comando, por Álvaro Justen
 
Intro
IntroIntro
Intro
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Python tão rápido quanto FORTRAN?
Python tão rápido quanto FORTRAN?Python tão rápido quanto FORTRAN?
Python tão rápido quanto FORTRAN?
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
import brasil: Dados Abertos de Forma Fácil
import brasil: Dados Abertos de Forma Fácilimport brasil: Dados Abertos de Forma Fácil
import brasil: Dados Abertos de Forma Fácil
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação Python
 
Porque foi bom aprender com Python
Porque foi bom aprender com PythonPorque foi bom aprender com Python
Porque foi bom aprender com Python
 
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
Tutorial JupyterHub, Jupyter e PySpark (PythonSudeste)
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Desbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaDesbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus Lima
 

Destaque (20)

Playcenter - abr.07
Playcenter - abr.07Playcenter - abr.07
Playcenter - abr.07
 
110117 markets
110117 markets110117 markets
110117 markets
 
刚好
刚好刚好
刚好
 
101 Four Elements Of Email Marketing
101 Four Elements Of Email Marketing101 Four Elements Of Email Marketing
101 Four Elements Of Email Marketing
 
How To Make Doughnut!
How To Make Doughnut!How To Make Doughnut!
How To Make Doughnut!
 
Lecture 19
Lecture 19Lecture 19
Lecture 19
 
MISIÓN INTERCULTURALIDAD - 1E-A
MISIÓN INTERCULTURALIDAD - 1E-AMISIÓN INTERCULTURALIDAD - 1E-A
MISIÓN INTERCULTURALIDAD - 1E-A
 
Preso 24 recl
Preso 24 reclPreso 24 recl
Preso 24 recl
 
Presentation1
Presentation1Presentation1
Presentation1
 
Niver tonight - 19.05.07
Niver tonight - 19.05.07Niver tonight - 19.05.07
Niver tonight - 19.05.07
 
OTC08
OTC08OTC08
OTC08
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
ZFS - Zettabyte File System
ZFS - Zettabyte File SystemZFS - Zettabyte File System
ZFS - Zettabyte File System
 
Scmad Chapter03
Scmad Chapter03Scmad Chapter03
Scmad Chapter03
 
Para Que Serve O Galego
Para Que Serve O GalegoPara Que Serve O Galego
Para Que Serve O Galego
 
Totara Seminar: Sam Barbee, Learning Pool
Totara Seminar: Sam Barbee, Learning PoolTotara Seminar: Sam Barbee, Learning Pool
Totara Seminar: Sam Barbee, Learning Pool
 
 
Lezing abn 1 nov
Lezing abn 1 novLezing abn 1 nov
Lezing abn 1 nov
 
Wikis google docs
Wikis google docsWikis google docs
Wikis google docs
 
Scmad Chapter 01
Scmad Chapter 01Scmad Chapter 01
Scmad Chapter 01
 

Semelhante a Python e 10 motivos por que devo conhece-la ?

O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Rodrigo Senra
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termosValore I/O
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Luiz Aldabalde
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonMarinho Brandão
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Por que você deveria aprender python?
Por que você deveria aprender python?Por que você deveria aprender python?
Por que você deveria aprender python?Felipe Volpone
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
Arduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensArduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensMarco Antonio Maciel
 

Semelhante a Python e 10 motivos por que devo conhece-la ? (20)

O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Python-Fenalivre-Imed
Python-Fenalivre-ImedPython-Fenalivre-Imed
Python-Fenalivre-Imed
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Por que você deveria aprender python?
Por que você deveria aprender python?Por que você deveria aprender python?
Por que você deveria aprender python?
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Aplicações do Python na escola e no mercado de trabalho
Aplicações do Python na escola e no mercado de trabalhoAplicações do Python na escola e no mercado de trabalho
Aplicações do Python na escola e no mercado de trabalho
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Arduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensArduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas Nuvens
 

Mais de Marcel Caraciolo

Como interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com PythonComo interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com PythonMarcel Caraciolo
 
Joblib: Lightweight pipelining for parallel jobs (v2)
Joblib:  Lightweight pipelining for parallel jobs (v2)Joblib:  Lightweight pipelining for parallel jobs (v2)
Joblib: Lightweight pipelining for parallel jobs (v2)Marcel Caraciolo
 
Construindo softwares de bioinformática para análises clínicas : Desafios e...
Construindo softwares  de bioinformática  para análises clínicas : Desafios e...Construindo softwares  de bioinformática  para análises clínicas : Desafios e...
Construindo softwares de bioinformática para análises clínicas : Desafios e...Marcel Caraciolo
 
Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Marcel Caraciolo
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratórioMarcel Caraciolo
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.Marcel Caraciolo
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Marcel Caraciolo
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Marcel Caraciolo
 
Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Marcel Caraciolo
 
Benchy, python framework for performance benchmarking of Python Scripts
Benchy, python framework for performance benchmarking  of Python ScriptsBenchy, python framework for performance benchmarking  of Python Scripts
Benchy, python framework for performance benchmarking of Python ScriptsMarcel Caraciolo
 
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...Marcel Caraciolo
 
Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Marcel Caraciolo
 
Construindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonConstruindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonMarcel Caraciolo
 
Construindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduceConstruindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduceMarcel Caraciolo
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilMarcel Caraciolo
 
Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?Marcel Caraciolo
 
Aula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursosAula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursosMarcel Caraciolo
 
Arquivos Zip com Python - Aula PyCursos
Arquivos Zip com Python - Aula PyCursosArquivos Zip com Python - Aula PyCursos
Arquivos Zip com Python - Aula PyCursosMarcel Caraciolo
 
PyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for FoursquarePyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for FoursquareMarcel Caraciolo
 

Mais de Marcel Caraciolo (20)

Como interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com PythonComo interpretar seu próprio genoma com Python
Como interpretar seu próprio genoma com Python
 
Joblib: Lightweight pipelining for parallel jobs (v2)
Joblib:  Lightweight pipelining for parallel jobs (v2)Joblib:  Lightweight pipelining for parallel jobs (v2)
Joblib: Lightweight pipelining for parallel jobs (v2)
 
Construindo softwares de bioinformática para análises clínicas : Desafios e...
Construindo softwares  de bioinformática  para análises clínicas : Desafios e...Construindo softwares  de bioinformática  para análises clínicas : Desafios e...
Construindo softwares de bioinformática para análises clínicas : Desafios e...
 
Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratório
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)
 
Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?
 
Big Data com Python
Big Data com PythonBig Data com Python
Big Data com Python
 
Benchy, python framework for performance benchmarking of Python Scripts
Benchy, python framework for performance benchmarking  of Python ScriptsBenchy, python framework for performance benchmarking  of Python Scripts
Benchy, python framework for performance benchmarking of Python Scripts
 
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
GeoMapper, Python Script for Visualizing Data on Social Networks with Geo-loc...
 
Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks
 
Construindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonConstruindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com Python
 
Construindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduceConstruindo Soluções Científicas com Big Data & MapReduce
Construindo Soluções Científicas com Big Data & MapReduce
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no Brasil
 
Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?Novas Tendências para a Educação a Distância: Como reinventar a educação ?
Novas Tendências para a Educação a Distância: Como reinventar a educação ?
 
Aula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursosAula WebCrawlers com Regex - PyCursos
Aula WebCrawlers com Regex - PyCursos
 
Arquivos Zip com Python - Aula PyCursos
Arquivos Zip com Python - Aula PyCursosArquivos Zip com Python - Aula PyCursos
Arquivos Zip com Python - Aula PyCursos
 
PyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for FoursquarePyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for Foursquare
 

Python e 10 motivos por que devo conhece-la ?

  • 1. Apresentando Python e 10 motivos pelo qual devo conhece-lo ?! Marcel Caraciolo @marcelcaraciolo Developer, 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
  • 10. 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!
  • 11. Mas o que seria Python ? lista = [‘laranja’,‘banana’, ‘uva’] lista.sort() for item in lista: print item.capitalize()
  • 13. Sim, então é tudo bom assim é ? http://en.wikipedia.org/wiki/Expressive_power
  • 15. Java
  • 17. Python tem sido uma parte importante do Google desde o início, e continua sendo à medida que o sistema cresce e evolui... estamos procurando mais pessoas com habilidade nesta linguagem. Peter Norvig, Google, Inc.
  • 19. lis.py: interpretador Lisp (Scheme) em 113 linhas de Python, por Peter Norvig
  • 20. >>> from lis import repl >>> repl() lis.py> (* 7 3) 21 lis.py> (define resposta (* 6 7)) lis.py> resposta 42 lis.py> (define ! (lambda (n) (if (= n 0) 1 (* n (! (- n 1)))))) lis.py> (! 4) 24 lis.py> (! 5) 120 lis.py> (! 197) 10007840558408082122130389497134473659904776124145643156372043719 15587343235626799299914070366966935566947378481954772384977466613 67777918006944650646265409257583733981874437495228286501182991424 47739508657606635346735333579872783783532869428043930552260307311 88238628318646302096556423610922923784067025686796088553504768000 00000000000000000000000000000000000000000000 lis.py> ! <function <lambda> at 0x1004cbd70> lis.py> lis.py
  • 21. Exemplo: relógio gráfico import Tkinter from 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()
  • 22. Exemplo: cliente Twitter import sys import urllib import 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='+busca resposta = 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))
  • 28. Sim, então é tudo bom assim é ? 1. Python ainda é lento
  • 29. Sim, então é tudo bom assim é ? JIT Compiler em Python
  • 45. 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
  • 46. Python e .Net import sys sys.path.append(r’C:Python25Lib’) import clr clr.AddReference(“System.Windows.Forms”) from System.Windows.Forms import Application,Form class Hello World(Form): def __init__(self): self.Text = ʻHello Worldʼ self.Name = ʻHello Worldʼ form = HelloWorld(Form) Application.Run(Form http://ironpython.net/
  • 47. 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/
  • 48. Tem alguém para pedir socorro. Pycon US PythonBrasil PUG-PE
  • 49. 24 hrs ao seu dispor! http://br.groups.yahoo.com/group/python-brasil/
  • 50. PUG - PE Grupo de usuários de Python de Pernambuco (@pugpe) http://groups.google.com/group/pug-pe?hl=pt-BR
  • 51. Tem alguém para pedir socorro. http://pythonpeople.znc.com.br/
  • 56. Assistentes direto do seu Talk Conheça o cãocurseiro (@caocurseiro) Mascote do Atepassar que fala, dorme, menciona, segue e até RT.
  • 58. 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
  • 59. 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
  • 60. 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
  • 63. Você pode escolher ficar no vermelho...
  • 64. Você pode escolher ficar no vermelho...
  • 69. Apresentando Python e 10 motivos pelo qual devo conhece-lo ?! Marcel Caraciolo @marcelcaraciolo Developer, 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