SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
CONSOLINE
Rodrigo Lira
Desvendando o Python
Agenda
Desvendando o Python • Rodrigo Lira
❏ O que é Python?
❏ Hello World
❏ Implementações de Python
❏ Quem utiliza?
❏ Grupo de usuários
❏ IDEs
❏ Bibliotecas e Frameworks (Módulos)
❏ Por onde começar?
Rodrigo Lira
Desvendando o Python • Rodrigo Lira
❏ Eng. e Mestre em Eng. da Computação
(POLI UPE)
❏ Especialista em Desenvolvimento de SW (FITec)
❏ Professor
❏ FATEC e FACOL
❏ Usuário de Python desde 2008
❏ Python POLI (2004)
❏ PUG-PE (2010)
rodrigoclira @ twitter / facebook / linkedin / github
rodrigocliras@gmail.com
Python
Desvendando o Python • Rodrigo Lira
O que é Python ?
Python
Consoline • Rodrigo Lira
Python
Python
Consoline • Rodrigo Lira
Monty Python
Python
Desvendando o Python • Rodrigo Lira
def app_unistall(app, request):
“””
Uninstalls the application
----------
App:
Application name
Request:
The global request object
Returns
----------
‘True’ on success, ‘False’ on failure
“””
try:
#Hey app, this is your end
path = apath(app, request)
rmtree(path)
return True
except Exception:
return False
Python
Python
Desvendando o Python • Rodrigo Lira
❏ Linguagem de Programação (1989)
❏ Interpretada
❏ bytecode (.py e .pyc)
❏ Alto Nível
❏ Multiparadigma
❏ Multiplataforma
❏ Tipagem Dinâmica
❏ Fácil Aprendizado
❏ Open Source
❏ Guido van Rossum (BDFL)
❏ Monty Python
Python
Desvendando o Python • Rodrigo Lira
“Há mais de seis anos, em dezembro de
1989, eu estava procurando por um projeto
de programação como "hobby" que me
mantivesse ocupado durante a semana
próxima ao Natal. Meu escritório... estaria
fechado, mas eu tinha um computador em
casa, e não muito mais do que isso em
mãos. Eu decidi escrever um interpretador
para a nova linguagem de scripting sobre a
qual eu vinha pensando ultimamente: uma
descendente da ABC que agradaria a
hackers de Unix/C. Eu escolhi Python
como um título provisório para o projeto,
sendo que eu estava num humor um pouco
irreverente (e sendo também um grande fã
do Monty Python's Flying Circus).”
Hello, World!
Desvendando o Python • Rodrigo Lira
C
#include <stdio.h>
int main(){
printf(“Hello, world!”);
return 0;
}
Java
public class HelloWorld{
public static void main(){
System.out.println(“Hello, world!”);
}
}
C#
using System;
class HelloWorld{
static void main(){
System.Console.WriteLine(“Hello, world!”);
}
}
Pascal
program hello;
begin
writeln(“Hello, world!”);
end.
Hello, World!
Desvendando o Python • Rodrigo Lira
Em Python …
Hello, World!
Desvendando o Python • Rodrigo Lira
print (“Hello, World!”)
Python
Desvendando o Python • Rodrigo Lira
Versões?
Versões
Desvendando o Python • Rodrigo Lira
“Python 2.x is legacy, Python 3.x
is the present and future of the
language”
https://wiki.python.org/moin/Python2orPython3
❏ As principais funcionalidades do Python 3.x
foram inseridas no Python 2.7.x
Download
Desvendando o Python • Rodrigo Lira
https://www.python.org/downloads/
Implementações
Desvendando o Python • Rodrigo Lira
http://www.toptal.com/python/por-que-h-tantos-pythons/pt
Implementações
Desvendando o Python • Rodrigo Lira
http://speed.pypy.org/
Python
Desvendando o Python • Rodrigo Lira
Quem usa?
Quem usa?
Desvendando o Python • Rodrigo Lira
❏ Google
❏ Youtube, Google App
Engine, Gmail…
“Python tem sido uma importante
parte do Google desde o começo,
e continua assim. Hoje dezenas
de engenheiros do Google usam
Python e nós estamos procurando
por mais pessoas com habilidade
nessa linguagem”, Peter Norvig,
Diretor de Pesquisa do Google.
Quem usa?
Desvendando o Python • Rodrigo Lira
http://www.tecmundo.com.br/inteligencia-artificial/89172-google-distribuindo-software-inteligencia-artificial-graca.htm
Quem usa?
Desvendando o Python • Rodrigo Lira
❏ Yahoo!
❏ Yahoo! Groups foi escrito inicialmente em
python puro: 180.000 linhas de código
cuidavam de tudo, tratando mais de 200
mensagens/segundo em um simples
Pentium 400 Mhz.
Quem usa?
Desvendando o Python • Rodrigo Lira
❏ Dropbox
❏ 99,9 % é em Python
❏ Guido
❏ Frets on Fire
❏ BitTorrent
http://fretsonfire.sourceforge.net/documentation/source/
http://highscalability.com/blog/2011/3/14/6-lessons-from-dropbox-one-million-files-saved-every-15-minu.html
Tiobe Index
Desvendando o Python • Rodrigo Lira
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Python
Desvendando o Python • Rodrigo Lira
https://uk.news.yahoo.com/coding-uk-classroom-python-overtakes-010244979.html#a4ixf
Python
Desvendando o Python • Rodrigo Lira
http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-
at-top-us-universities/fulltext
https://wiki.python.org/moin/SchoolsUsingPython
Python
Desvendando o Python • Rodrigo Lira
Comunidade
Python User Group / PUG-PE
Desvendando o Python • Rodrigo Lira
http://pug.pe
https://pugpe.wordpress.com/2010/11/11/pug-pe-na-facol/
Python User Group / PUG-PE
Desvendando o Python • Rodrigo Lira
Conferência Python Brasil
Desvendando o Python • Rodrigo Lira
http://www.python.org.br/
Python
Desvendando o Python • Rodrigo Lira
IDE
IDLE
Desvendando o Python • Rodrigo Lira
PyDev
Desvendando o Python • Rodrigo Lira
http://www.pydev.org/ http://www.easyeclipse.org/site/distributions/python.html
EricPython
Desvendando o Python • Rodrigo Lira http://eric-ide.python-projects.org/
PyCharm
Desvendando o Python • Rodrigo Lira
https://www.jetbrains.com/pycharm/
Komodo IDE
Desvendando o Python • Rodrigo Lira
http://komodoide.com/
Python
Desvendando o Python • Rodrigo Lira
Bibliotecas
Bibliotecas
Desvendando o Python • Rodrigo Lira
❏ Biblioteca padrão vasta
❏ String (string, re...)
❏ Tipos de dados (datetime, array, Queue...)
❏ Números (math, cmax, fractions, random...)
❏ Arquivos e Diretórios (glob, os.path...)
❏ Persistência de dados (pickle, sqlite3...)
❏ Compressão (zipfile, gzip, zlib...)
[...]
https://docs.python.org/2/library/
PIP
Desvendando o Python • Rodrigo Lira
https://pypi.python.org/pypi
https://docs.python.org/2.7/installing/
pip install pacote
PEP - Python Enhancement Proposals
Desvendando o Python • Rodrigo Lira
❏ Um documento que providencia informação para
a comunidade Python, ou descreve novas
funcionalidades ou seus processos ou seu
ambiente.
❏ PEP 1 -> Informações sobre o PEP
❏ PEP 2 -> Adição de novos módulos
❏ PEP 8 -> Guia de estilos
❏ Usar 4 espaços para indentação
❏ Limite de 79 caracteres por linha
https://www.youtube.com/watch?v=wf-BqAjZb8M
https://www.python.org/dev/peps/pep-0008/
Zen of Python (PEP 20) por Tim Peters
Desvendando o Python • Rodrigo Lira
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é melhor que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para quebrar as regras.
Embora a praticidade bata a pureza.
Erros nunca devem passar silenciados.
A menos que explicitamente silenciados.
Diante da ambiguidade, recuse a tentação de adivinhar.
Deve haver um -- e preferencialmente só um -- modo óbvio para fazê-lo.
Embora esse caminho não pode ser óbvio a menos que você seja holandês.
Agora é melhor do que nunca.
Embora nunca é muitas vezes melhor do que *agora*.
Se a implementação é difícil de explicar, é uma má ideia.
Se a implementação é fácil de explicar, pode ser uma boa ideia.
Espaços de nomes são uma grande ideia - vamos fazer mais desses!
import this
Python
Desvendando o Python • Rodrigo Lira
Bibliotecas...
PyGame
Desvendando o Python • Rodrigo Lira
www.pygame.org
http://inventwithpython.com/blog/2010/09/01/the-top-10-pygame-tutorials/
PyGame
Desvendando o Python • Rodrigo Lira
GUI
Desvendando o Python • Rodrigo Lira
WEB
Desvendando o Python • Rodrigo Lira
http://wiki.python.org.br/PythonParaWeb
WEB
Desvendando o Python • Rodrigo Lira
http://flask.pocoo.org/
Google App Engine
Desvendando o Python • Rodrigo Lira
https://cloud.google.com/appengine/
Gráficos
Desvendando o Python • Rodrigo Lira
http://matplotlib.org/ http://code.enthought.
com/projects/chaco/
Matplotlib
Desvendando o Python • Rodrigo Lira
http://matplotlib.org/
Programação Científica
Desvendando o Python • Rodrigo Lira
http://www.scipy.org/
Programação Científica
Desvendando o Python • Rodrigo Lira
http://www.ipython.
Programação Científica
Desvendando o Python • Rodrigo Lira
http://www.ipython.
import antigravity
Desvendando o Python • Rodrigo Lira http://python-history.blogspot.com.br/2010/06/import-antigravity.html
Por onde começar?
Desvendando o Python • Rodrigo Lira
❏ https://www.codecademy.com/learn/python
❏ https://www.coursera.org/courses?query=Python
❏ https://ark4n.wordpress.com/python/ (livro)
❏ http://blog.rodrigolira.net/python/
❏ MIT Course
❏ pug.pe
❏ Lista de Discussão
❏ Participar dos encontros mensais
❏ rodrigocliras@gmail.com
Consoline
Desvendando o Python • Rodrigo Lira
Perguntas?

Mais conteúdo relacionado

Mais procurados

A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laA Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laBruno Rocha
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 
Multirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduinoMultirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduinoAntonio Thomacelli
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Por que o futuro do Python só depende dos Pythonistas?
Por que o futuro do Python só depende dos Pythonistas?Por que o futuro do Python só depende dos Pythonistas?
Por que o futuro do Python só depende dos Pythonistas?Henrique Bastos
 
Intro
IntroIntro
Intropugpe
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Ramiro Luz
 
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
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Pythonantonio sérgio nogueira
 
Por que Python? Latinoware 2011
Por que Python? Latinoware 2011Por que Python? Latinoware 2011
Por que Python? Latinoware 2011Marco Mendes
 
MNT2014 - Python para Iniciantes - Luciana Mota
MNT2014 - Python para Iniciantes - Luciana MotaMNT2014 - Python para Iniciantes - Luciana Mota
MNT2014 - Python para Iniciantes - Luciana Motalucianacmota
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 

Mais procurados (20)

Canivete python
Canivete pythonCanivete python
Canivete python
 
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laA Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 
Multirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduinoMultirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduino
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Como tornar-se um programador Python melhor
Como tornar-se um programador Python melhorComo tornar-se um programador Python melhor
Como tornar-se um programador Python melhor
 
Por que o futuro do Python só depende dos Pythonistas?
Por que o futuro do Python só depende dos Pythonistas?Por que o futuro do Python só depende dos Pythonistas?
Por que o futuro do Python só depende dos Pythonistas?
 
Python-Fenalivre-Imed
Python-Fenalivre-ImedPython-Fenalivre-Imed
Python-Fenalivre-Imed
 
Python Zope Plone PloneConf 2013
Python Zope Plone PloneConf 2013Python Zope Plone PloneConf 2013
Python Zope Plone PloneConf 2013
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Python Zope Plone - Fiocruz
Python Zope Plone - FiocruzPython Zope Plone - Fiocruz
Python Zope Plone - Fiocruz
 
Python Zope Plone - Tchelinux
Python Zope Plone - TchelinuxPython Zope Plone - Tchelinux
Python Zope Plone - Tchelinux
 
Intro
IntroIntro
Intro
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Por que Python? Latinoware 2011
Por que Python? Latinoware 2011Por que Python? Latinoware 2011
Por que Python? Latinoware 2011
 
MNT2014 - Python para Iniciantes - Luciana Mota
MNT2014 - Python para Iniciantes - Luciana MotaMNT2014 - Python para Iniciantes - Luciana Mota
MNT2014 - Python para Iniciantes - Luciana Mota
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 

Semelhante a Desvendando o python

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Primeiros passos em Python - Tchelinux Uruguaiana 2011
Primeiros passos em Python - Tchelinux Uruguaiana 2011Primeiros passos em Python - Tchelinux Uruguaiana 2011
Primeiros passos em Python - Tchelinux Uruguaiana 2011Jerônimo Medina Madruga
 
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
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosRodrigo Senra
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Pythonificando a Universidade
Pythonificando a UniversidadePythonificando a Universidade
Pythonificando a UniversidadeMatheus Pereira
 
Contribuir com o django é mais simples do que voce imagina!
Contribuir com o django é mais simples do que voce imagina!Contribuir com o django é mais simples do que voce imagina!
Contribuir com o django é mais simples do que voce imagina!Vinta Software
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto ProieteComunidade NetPonto
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaÁlvaro Justen
 
Uso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceUso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceVinícius Hax
 

Semelhante a Desvendando o python (20)

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Primeiros passos em Python - Tchelinux Uruguaiana 2011
Primeiros passos em Python - Tchelinux Uruguaiana 2011Primeiros passos em Python - Tchelinux Uruguaiana 2011
Primeiros passos em Python - Tchelinux Uruguaiana 2011
 
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
 
Open source e Digital Libraries
Open source e Digital LibrariesOpen source e Digital Libraries
Open source e Digital Libraries
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de Dados
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Pythonificando a Universidade
Pythonificando a UniversidadePythonificando a Universidade
Pythonificando a Universidade
 
Contribuir com o django é mais simples do que voce imagina!
Contribuir com o django é mais simples do que voce imagina!Contribuir com o django é mais simples do que voce imagina!
Contribuir com o django é mais simples do que voce imagina!
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
SFD - C# para a comunidade
SFD - C# para a comunidadeSFD - C# para a comunidade
SFD - C# para a comunidade
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
Uso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceUso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open source
 
Slide
SlideSlide
Slide
 
Development pitfalls
Development pitfallsDevelopment pitfalls
Development pitfalls
 

Desvendando o python

  • 2. Agenda Desvendando o Python • Rodrigo Lira ❏ O que é Python? ❏ Hello World ❏ Implementações de Python ❏ Quem utiliza? ❏ Grupo de usuários ❏ IDEs ❏ Bibliotecas e Frameworks (Módulos) ❏ Por onde começar?
  • 3. Rodrigo Lira Desvendando o Python • Rodrigo Lira ❏ Eng. e Mestre em Eng. da Computação (POLI UPE) ❏ Especialista em Desenvolvimento de SW (FITec) ❏ Professor ❏ FATEC e FACOL ❏ Usuário de Python desde 2008 ❏ Python POLI (2004) ❏ PUG-PE (2010) rodrigoclira @ twitter / facebook / linkedin / github rodrigocliras@gmail.com
  • 4. Python Desvendando o Python • Rodrigo Lira O que é Python ?
  • 6. Python Consoline • Rodrigo Lira Monty Python
  • 7. Python Desvendando o Python • Rodrigo Lira def app_unistall(app, request): “”” Uninstalls the application ---------- App: Application name Request: The global request object Returns ---------- ‘True’ on success, ‘False’ on failure “”” try: #Hey app, this is your end path = apath(app, request) rmtree(path) return True except Exception: return False Python
  • 8. Python Desvendando o Python • Rodrigo Lira ❏ Linguagem de Programação (1989) ❏ Interpretada ❏ bytecode (.py e .pyc) ❏ Alto Nível ❏ Multiparadigma ❏ Multiplataforma ❏ Tipagem Dinâmica ❏ Fácil Aprendizado ❏ Open Source ❏ Guido van Rossum (BDFL) ❏ Monty Python
  • 9. Python Desvendando o Python • Rodrigo Lira “Há mais de seis anos, em dezembro de 1989, eu estava procurando por um projeto de programação como "hobby" que me mantivesse ocupado durante a semana próxima ao Natal. Meu escritório... estaria fechado, mas eu tinha um computador em casa, e não muito mais do que isso em mãos. Eu decidi escrever um interpretador para a nova linguagem de scripting sobre a qual eu vinha pensando ultimamente: uma descendente da ABC que agradaria a hackers de Unix/C. Eu escolhi Python como um título provisório para o projeto, sendo que eu estava num humor um pouco irreverente (e sendo também um grande fã do Monty Python's Flying Circus).”
  • 10. Hello, World! Desvendando o Python • Rodrigo Lira C #include <stdio.h> int main(){ printf(“Hello, world!”); return 0; } Java public class HelloWorld{ public static void main(){ System.out.println(“Hello, world!”); } } C# using System; class HelloWorld{ static void main(){ System.Console.WriteLine(“Hello, world!”); } } Pascal program hello; begin writeln(“Hello, world!”); end.
  • 11. Hello, World! Desvendando o Python • Rodrigo Lira Em Python …
  • 12. Hello, World! Desvendando o Python • Rodrigo Lira print (“Hello, World!”)
  • 13. Python Desvendando o Python • Rodrigo Lira Versões?
  • 14. Versões Desvendando o Python • Rodrigo Lira “Python 2.x is legacy, Python 3.x is the present and future of the language” https://wiki.python.org/moin/Python2orPython3 ❏ As principais funcionalidades do Python 3.x foram inseridas no Python 2.7.x
  • 15. Download Desvendando o Python • Rodrigo Lira https://www.python.org/downloads/
  • 16. Implementações Desvendando o Python • Rodrigo Lira http://www.toptal.com/python/por-que-h-tantos-pythons/pt
  • 17. Implementações Desvendando o Python • Rodrigo Lira http://speed.pypy.org/
  • 18. Python Desvendando o Python • Rodrigo Lira Quem usa?
  • 19. Quem usa? Desvendando o Python • Rodrigo Lira ❏ Google ❏ Youtube, Google App Engine, Gmail… “Python tem sido uma importante parte do Google desde o começo, e continua assim. Hoje dezenas de engenheiros do Google usam Python e nós estamos procurando por mais pessoas com habilidade nessa linguagem”, Peter Norvig, Diretor de Pesquisa do Google.
  • 20. Quem usa? Desvendando o Python • Rodrigo Lira http://www.tecmundo.com.br/inteligencia-artificial/89172-google-distribuindo-software-inteligencia-artificial-graca.htm
  • 21. Quem usa? Desvendando o Python • Rodrigo Lira ❏ Yahoo! ❏ Yahoo! Groups foi escrito inicialmente em python puro: 180.000 linhas de código cuidavam de tudo, tratando mais de 200 mensagens/segundo em um simples Pentium 400 Mhz.
  • 22. Quem usa? Desvendando o Python • Rodrigo Lira ❏ Dropbox ❏ 99,9 % é em Python ❏ Guido ❏ Frets on Fire ❏ BitTorrent http://fretsonfire.sourceforge.net/documentation/source/ http://highscalability.com/blog/2011/3/14/6-lessons-from-dropbox-one-million-files-saved-every-15-minu.html
  • 23. Tiobe Index Desvendando o Python • Rodrigo Lira http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 24. Python Desvendando o Python • Rodrigo Lira https://uk.news.yahoo.com/coding-uk-classroom-python-overtakes-010244979.html#a4ixf
  • 25. Python Desvendando o Python • Rodrigo Lira http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language- at-top-us-universities/fulltext https://wiki.python.org/moin/SchoolsUsingPython
  • 26. Python Desvendando o Python • Rodrigo Lira Comunidade
  • 27. Python User Group / PUG-PE Desvendando o Python • Rodrigo Lira http://pug.pe
  • 28. https://pugpe.wordpress.com/2010/11/11/pug-pe-na-facol/ Python User Group / PUG-PE Desvendando o Python • Rodrigo Lira
  • 29. Conferência Python Brasil Desvendando o Python • Rodrigo Lira http://www.python.org.br/
  • 30. Python Desvendando o Python • Rodrigo Lira IDE
  • 31. IDLE Desvendando o Python • Rodrigo Lira
  • 32. PyDev Desvendando o Python • Rodrigo Lira http://www.pydev.org/ http://www.easyeclipse.org/site/distributions/python.html
  • 33. EricPython Desvendando o Python • Rodrigo Lira http://eric-ide.python-projects.org/
  • 34. PyCharm Desvendando o Python • Rodrigo Lira https://www.jetbrains.com/pycharm/
  • 35. Komodo IDE Desvendando o Python • Rodrigo Lira http://komodoide.com/
  • 36. Python Desvendando o Python • Rodrigo Lira Bibliotecas
  • 37. Bibliotecas Desvendando o Python • Rodrigo Lira ❏ Biblioteca padrão vasta ❏ String (string, re...) ❏ Tipos de dados (datetime, array, Queue...) ❏ Números (math, cmax, fractions, random...) ❏ Arquivos e Diretórios (glob, os.path...) ❏ Persistência de dados (pickle, sqlite3...) ❏ Compressão (zipfile, gzip, zlib...) [...] https://docs.python.org/2/library/
  • 38. PIP Desvendando o Python • Rodrigo Lira https://pypi.python.org/pypi https://docs.python.org/2.7/installing/ pip install pacote
  • 39. PEP - Python Enhancement Proposals Desvendando o Python • Rodrigo Lira ❏ Um documento que providencia informação para a comunidade Python, ou descreve novas funcionalidades ou seus processos ou seu ambiente. ❏ PEP 1 -> Informações sobre o PEP ❏ PEP 2 -> Adição de novos módulos ❏ PEP 8 -> Guia de estilos ❏ Usar 4 espaços para indentação ❏ Limite de 79 caracteres por linha https://www.youtube.com/watch?v=wf-BqAjZb8M https://www.python.org/dev/peps/pep-0008/
  • 40. Zen of Python (PEP 20) por Tim Peters Desvendando o Python • Rodrigo Lira Bonito é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo. Complexo é melhor que complicado. Plano é melhor que aninhado. Esparso é melhor que denso. Legibilidade conta. Casos especiais não são especiais o bastante para quebrar as regras. Embora a praticidade bata a pureza. Erros nunca devem passar silenciados. A menos que explicitamente silenciados. Diante da ambiguidade, recuse a tentação de adivinhar. Deve haver um -- e preferencialmente só um -- modo óbvio para fazê-lo. Embora esse caminho não pode ser óbvio a menos que você seja holandês. Agora é melhor do que nunca. Embora nunca é muitas vezes melhor do que *agora*. Se a implementação é difícil de explicar, é uma má ideia. Se a implementação é fácil de explicar, pode ser uma boa ideia. Espaços de nomes são uma grande ideia - vamos fazer mais desses! import this
  • 41. Python Desvendando o Python • Rodrigo Lira Bibliotecas...
  • 42. PyGame Desvendando o Python • Rodrigo Lira www.pygame.org http://inventwithpython.com/blog/2010/09/01/the-top-10-pygame-tutorials/
  • 43. PyGame Desvendando o Python • Rodrigo Lira
  • 44. GUI Desvendando o Python • Rodrigo Lira
  • 45. WEB Desvendando o Python • Rodrigo Lira http://wiki.python.org.br/PythonParaWeb
  • 46. WEB Desvendando o Python • Rodrigo Lira http://flask.pocoo.org/
  • 47. Google App Engine Desvendando o Python • Rodrigo Lira https://cloud.google.com/appengine/
  • 48. Gráficos Desvendando o Python • Rodrigo Lira http://matplotlib.org/ http://code.enthought. com/projects/chaco/
  • 49. Matplotlib Desvendando o Python • Rodrigo Lira http://matplotlib.org/
  • 50. Programação Científica Desvendando o Python • Rodrigo Lira http://www.scipy.org/
  • 51. Programação Científica Desvendando o Python • Rodrigo Lira http://www.ipython.
  • 52. Programação Científica Desvendando o Python • Rodrigo Lira http://www.ipython.
  • 53. import antigravity Desvendando o Python • Rodrigo Lira http://python-history.blogspot.com.br/2010/06/import-antigravity.html
  • 54. Por onde começar? Desvendando o Python • Rodrigo Lira ❏ https://www.codecademy.com/learn/python ❏ https://www.coursera.org/courses?query=Python ❏ https://ark4n.wordpress.com/python/ (livro) ❏ http://blog.rodrigolira.net/python/ ❏ MIT Course ❏ pug.pe ❏ Lista de Discussão ❏ Participar dos encontros mensais ❏ rodrigocliras@gmail.com
  • 55. Consoline Desvendando o Python • Rodrigo Lira Perguntas?