SlideShare uma empresa Scribd logo
Python 3.x - Parte 1
               E agora ?? O que eu faço ??

Marcel Caraciolo
Daker Fernandes
Thais Bione
Mito: Eu só sei Python 2.x !!!
FUUUUUUUUUUUUUU...
O foco desta apresentação não é ensinar
 Python e sim mostrar as diferenças do
  Python 2.x em relação ao Python 3.x
Python 3.x
A primeira versão 3.0 foi em 2008!
              De acordo com o Guido , o objetivo foi:


              Correção de vários problemas de design


   Facilitar ainda mais o aprendizado para os que estão iniciando



Atualmente na versão 3.2 - (23/03/2011)

                    http://python.org/download/
Python 3.x
Tipos básicos - Classes

   Python 2.x
             class C: #classic class
            class C(object): #new-style class

   Python 3.x
            class C(object): #new-style class
Python 3.x
Tipos básicos - cmp e __cmp__

  Python 2.x
   >>> def reverse_numeric(x, y):
           return y - x
   >>> sorted([5, 2, 4, 1, 3], cmp=reverse_numeric)
   [5, 4, 3, 2, 1]


  Python 3.x
    list.sort(key= cmp_to_key(reverse_numeric) )

Método cmp não existe mais! Usar __lt__ ,
        __eq__ with __hash__()
Python 3.x
Tipos básicos - Strings
                                     str(anything)
   Python 2.x                        unicode(anything)
        u”poço de açucar é essa menina!”

                                     str(anything)
   Python 3.x                        unicode(anything)
            “poço de açucar é essa menina!”


Todas as STRINGS são UNICODE por padrão!
Python 3.x
Tipos básicos - Inteiros e Longos
   Python 2.x
           x = 10000000000000000L
          long(x)

   Python 3.x
          x = 10000000000000000
         int(x)

 Não mais o tipo long! Todos são inteiros!
Python 3.x
 Tipos básicos - Octais
Python 2.x
             x = O755



Python 3.x
            x = 0o755


     Octais sintaxe diferente!
Python 3.x
 Tipos básicos - Divisão
Python 2.x
          x = 2/4   # Resp: 0



Python 3.x
        x = 2/4 # Resp: 0.5


Divisão por Inteiros retornam Float!
Python 3.x
Tipos básicos - Comparações

    Python 2.x

         if x <> y: #ou if x != y


    Python 3.x
        if x!=y


       Não há mais o operador <> !
Python 3.x
Tipos básicos - Dicionários

   Python 2.x
   a = {}
   a.has_key(‘casa’)

   Python 3.x
   ‘casa’ in a

 Não há mais o método has_key em Dicts!
Python 3.x
Tipos básicos - Dicionários

    Python 2.x
a = {‘nome’: ‘marcel’, ‘idade’: 26}
a.items() # [(‘nome’,‘marcel’),( ‘idade’, 26)]
a.keys() # [‘nome’, ‘idade’]
    Python 3.x
 a = {‘nome’: ‘marcel’, ‘idade’: 26}
list(a.items()) # [(‘nome’,‘marcel’),( ‘idade’, 26)]
list(a.keys()) # [‘nome’, ‘idade’]
 Não retornam como listas, não podem ser
               indexados!
Python 3.x
  Tipos básicos - next()

     Python 2.x
                  iterator.next()



     Python 3.x
                 next(iterator)
                 iterator.next()

Há uma função global next() para iteradores!
Python 3.x
  Tipos básicos - repr()

     Python 2.x
                  `x` ou repr(x)



     Python 3.x
                    repr(x)

`` para capturar representação não mais existe!
Python 3.x
  Try ... Except..

     Python 2.x
                     try:
                       import module
                     except ImportError, e:
                       pass
     Python 3.x
                     try:
                       import module
                  except ImportError as e:
                      pass
Captura de erros e objetos com a keyword ‘as’
Python 3.x
 raise
 Python 2.x

    raise MyException , ‘mensagem de erro’

 Python 3.x
   raise MyException ( ‘mensagem de erro’ )

Lançar mensagens com método apenas!
Python 3.x
  List Comprehensions
   Python 2.x

          [ i for i in 1,2] #Isso é TENSO

   Python 3.x
                 [i for i in (1,2)]

Iterar sobre tuplas apenas com parênteses!
Python 3.x
I/O library
Python 2.x
        a = open(‘arquivo.txt’,’w’)
        a.write(‘hello’)


Python 3.x
       with open(‘arquivo.txt’,’w) as f:
            f.write(‘hello’)
                     P
2to3 conversor
Já instalado com seu Python 3.x ou encontrado em ../Tools/scripts


          def greet(name):
              print "Hello, {0}!".format(name)
          print "What's your name?"
          name = raw_input()
          greet(name)




         $ 2to3 example.py
         def greet(name):
             print("Hello, {0}!".format(name))
         print("What's your name?")
         name = input()
         greet(name)



http://docs.python.org/library/2to3.html
Python 3.x
Referências

   http://www.slideshare.net/jza/python-3000

 http://diveintopython3.org/porting-code-to-python-3-
                     with-2to3.html

  http://docs.python.org/library/2to3.html
Python 3.x - Parte 1
               E agora ?? O que eu faço ??

Marcel Caraciolo
Daker Fernandes
Thais Bione

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
Aparicio Junior
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
Adriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
Adriano Teixeira de Souza
 
Pilha em C
Pilha em CPilha em C
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
Rafael Cassau
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
PAULO Moreira
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
Luciano Ramalho
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
Amélia Pessoa
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
Marco Mendes
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
Adriano Teixeira de Souza
 
Pilha
PilhaPilha
Estrutura de dados - Implementação de filas com listas
Estrutura de dados - Implementação de filas com listasEstrutura de dados - Implementação de filas com listas
Estrutura de dados - Implementação de filas com listas
Adriano Teixeira de Souza
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
Diemesleno Souza Carvalho
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
Armando Daniel
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
lucianacmota
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Tchelinux
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
Luciano Ramalho
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
Ben Hur Bahia do Nascimento
 
Pilha e Fila Estática
Pilha e Fila EstáticaPilha e Fila Estática
Pilha e Fila Estática
Sérgio Souza Costa
 

Mais procurados (19)

Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Pilha em C
Pilha em CPilha em C
Pilha em C
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Pilha
PilhaPilha
Pilha
 
Estrutura de dados - Implementação de filas com listas
Estrutura de dados - Implementação de filas com listasEstrutura de dados - Implementação de filas com listas
Estrutura de dados - Implementação de filas com listas
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
 
Pilha e Fila Estática
Pilha e Fila EstáticaPilha e Fila Estática
Pilha e Fila Estática
 

Destaque

Crab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation SystemsCrab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation Systems
Marcel Caraciolo
 
PyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for FoursquarePyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for Foursquare
Marcel Caraciolo
 
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPEMini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Marcel Caraciolo
 
Computação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e ScipyComputação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e Scipy
Marcel Caraciolo
 
Rain Toolbox - Previsão de Chuvas
Rain Toolbox -  Previsão de ChuvasRain Toolbox -  Previsão de Chuvas
Rain Toolbox - Previsão de Chuvas
pugpe
 
Pep 8
Pep 8Pep 8
Coding Dojo e Test Driven Development
Coding Dojo e Test Driven DevelopmentCoding Dojo e Test Driven Development
Coding Dojo e Test Driven Development
pugpe
 
Pug
PugPug
Python Debugger - PUG-PE
Python Debugger - PUG-PE Python Debugger - PUG-PE
Python Debugger - PUG-PE
Arthur Alvim
 
Computação Científica com Python
Computação Científica com PythonComputação Científica com Python
Computação Científica com Python
Hugo Serrano
 
Migrando do App Engine para o Heroku
Migrando do App Engine para o HerokuMigrando do App Engine para o Heroku
Migrando do App Engine para o Heroku
Filipe Ximenes
 
Qml + Python
Qml + PythonQml + Python
Qml + Python
pugpe
 
Palestra sobre Inteligência Coletiva
Palestra sobre Inteligência ColetivaPalestra sobre Inteligência Coletiva
Palestra sobre Inteligência Coletiva
pugpe
 
(entregando djangoapps)@tangerinalab - pugpe xv
(entregando djangoapps)@tangerinalab - pugpe xv(entregando djangoapps)@tangerinalab - pugpe xv
(entregando djangoapps)@tangerinalab - pugpe xv
raonyaraujo
 
Python e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMMPython e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMM
pugpe
 
Apresentando o I Toró de Palestras do PUG-PE
Apresentando o I Toró de Palestras do PUG-PEApresentando o I Toró de Palestras do PUG-PE
Apresentando o I Toró de Palestras do PUG-PE
Marcel Caraciolo
 
NoSQL com Cassandra e Python
NoSQL com Cassandra e PythonNoSQL com Cassandra e Python
NoSQL com Cassandra e Python
pugpe
 
Criando comunidades bem sucedidas
Criando comunidades bem sucedidasCriando comunidades bem sucedidas
Criando comunidades bem sucedidas
pugpe
 
Peça seu código em casamento: Votos, Tópicos e TDD
Peça seu código em casamento: Votos, Tópicos e TDDPeça seu código em casamento: Votos, Tópicos e TDD
Peça seu código em casamento: Votos, Tópicos e TDD
Rafael Carício
 
Wikilytics
WikilyticsWikilytics
Wikilytics
pugpe
 

Destaque (20)

Crab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation SystemsCrab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation Systems
 
PyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for FoursquarePyFoursquare: Python Library for Foursquare
PyFoursquare: Python Library for Foursquare
 
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPEMini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
 
Computação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e ScipyComputação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e Scipy
 
Rain Toolbox - Previsão de Chuvas
Rain Toolbox -  Previsão de ChuvasRain Toolbox -  Previsão de Chuvas
Rain Toolbox - Previsão de Chuvas
 
Pep 8
Pep 8Pep 8
Pep 8
 
Coding Dojo e Test Driven Development
Coding Dojo e Test Driven DevelopmentCoding Dojo e Test Driven Development
Coding Dojo e Test Driven Development
 
Pug
PugPug
Pug
 
Python Debugger - PUG-PE
Python Debugger - PUG-PE Python Debugger - PUG-PE
Python Debugger - PUG-PE
 
Computação Científica com Python
Computação Científica com PythonComputação Científica com Python
Computação Científica com Python
 
Migrando do App Engine para o Heroku
Migrando do App Engine para o HerokuMigrando do App Engine para o Heroku
Migrando do App Engine para o Heroku
 
Qml + Python
Qml + PythonQml + Python
Qml + Python
 
Palestra sobre Inteligência Coletiva
Palestra sobre Inteligência ColetivaPalestra sobre Inteligência Coletiva
Palestra sobre Inteligência Coletiva
 
(entregando djangoapps)@tangerinalab - pugpe xv
(entregando djangoapps)@tangerinalab - pugpe xv(entregando djangoapps)@tangerinalab - pugpe xv
(entregando djangoapps)@tangerinalab - pugpe xv
 
Python e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMMPython e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMM
 
Apresentando o I Toró de Palestras do PUG-PE
Apresentando o I Toró de Palestras do PUG-PEApresentando o I Toró de Palestras do PUG-PE
Apresentando o I Toró de Palestras do PUG-PE
 
NoSQL com Cassandra e Python
NoSQL com Cassandra e PythonNoSQL com Cassandra e Python
NoSQL com Cassandra e Python
 
Criando comunidades bem sucedidas
Criando comunidades bem sucedidasCriando comunidades bem sucedidas
Criando comunidades bem sucedidas
 
Peça seu código em casamento: Votos, Tópicos e TDD
Peça seu código em casamento: Votos, Tópicos e TDDPeça seu código em casamento: Votos, Tópicos e TDD
Peça seu código em casamento: Votos, Tópicos e TDD
 
Wikilytics
WikilyticsWikilytics
Wikilytics
 

Semelhante a Python 3.x - Ihh.. E agora ? Como faço ?

apresentacao.pdf
apresentacao.pdfapresentacao.pdf
apresentacao.pdf
EduardoChicoJooJoo
 
aula3_python.pptx
aula3_python.pptxaula3_python.pptx
aula3_python.pptx
ClaudetedeS1
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
MichaelArrais1
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
MichaelArrais1
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
Helio Colombe
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
Junior Sobrenome
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
Julio Cesar Eiras Melanda
 
Python
PythonPython
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Python e seus desafios
Python e seus desafiosPython e seus desafios
Python e seus desafios
Jhonathan Davi
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
Diogo Gomes
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
DionatasSantos2
 
Aula python
Aula pythonAula python
Python 3 e o futuro da linguagem
Python 3 e o futuro da linguagemPython 3 e o futuro da linguagem
Python 3 e o futuro da linguagem
Danilo Martins
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
Alvaro Oliveira
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
Rober Guerra
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
rodrigopex
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
Osvaldo Santana Neto
 
Python3
Python3Python3
Python3
guest5a899e
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Alvaro Oliveira
 

Semelhante a Python 3.x - Ihh.. E agora ? Como faço ? (20)

apresentacao.pdf
apresentacao.pdfapresentacao.pdf
apresentacao.pdf
 
aula3_python.pptx
aula3_python.pptxaula3_python.pptx
aula3_python.pptx
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Python
PythonPython
Python
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Python e seus desafios
Python e seus desafiosPython e seus desafios
Python e seus desafios
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
 
Aula python
Aula pythonAula python
Aula python
 
Python 3 e o futuro da linguagem
Python 3 e o futuro da linguagemPython 3 e o futuro da linguagem
Python 3 e o futuro da linguagem
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Python3
Python3Python3
Python3
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 

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 Python
Marcel 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.2
Marcel 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ório
Marcel 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 3
Marcel 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
 
Big Data com Python
Big Data com PythonBig Data com Python
Big Data com Python
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 Scripts
Marcel Caraciolo
 
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 ?
Marcel 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 Python
Marcel Caraciolo
 
Python, A pílula Azul da programação
Python, A pílula Azul da programaçãoPython, A pílula Azul da programação
Python, A pílula Azul da programação
Marcel 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 & MapReduce
Marcel 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 Brasil
Marcel 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 - PyCursos
Marcel 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
 
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 ?
 
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
 
Python, A pílula Azul da programação
Python, A pílula Azul da programaçãoPython, A pílula Azul da programação
Python, A pílula Azul da programação
 
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
 

Python 3.x - Ihh.. E agora ? Como faço ?

  • 1. Python 3.x - Parte 1 E agora ?? O que eu faço ?? Marcel Caraciolo Daker Fernandes Thais Bione
  • 2. Mito: Eu só sei Python 2.x !!! FUUUUUUUUUUUUUU...
  • 3. O foco desta apresentação não é ensinar Python e sim mostrar as diferenças do Python 2.x em relação ao Python 3.x
  • 4. Python 3.x A primeira versão 3.0 foi em 2008! De acordo com o Guido , o objetivo foi: Correção de vários problemas de design Facilitar ainda mais o aprendizado para os que estão iniciando Atualmente na versão 3.2 - (23/03/2011) http://python.org/download/
  • 5. Python 3.x Tipos básicos - Classes Python 2.x class C: #classic class class C(object): #new-style class Python 3.x class C(object): #new-style class
  • 6. Python 3.x Tipos básicos - cmp e __cmp__ Python 2.x >>> def reverse_numeric(x, y): return y - x >>> sorted([5, 2, 4, 1, 3], cmp=reverse_numeric) [5, 4, 3, 2, 1] Python 3.x list.sort(key= cmp_to_key(reverse_numeric) ) Método cmp não existe mais! Usar __lt__ , __eq__ with __hash__()
  • 7. Python 3.x Tipos básicos - Strings str(anything) Python 2.x unicode(anything) u”poço de açucar é essa menina!” str(anything) Python 3.x unicode(anything) “poço de açucar é essa menina!” Todas as STRINGS são UNICODE por padrão!
  • 8. Python 3.x Tipos básicos - Inteiros e Longos Python 2.x x = 10000000000000000L long(x) Python 3.x x = 10000000000000000 int(x) Não mais o tipo long! Todos são inteiros!
  • 9. Python 3.x Tipos básicos - Octais Python 2.x x = O755 Python 3.x x = 0o755 Octais sintaxe diferente!
  • 10. Python 3.x Tipos básicos - Divisão Python 2.x x = 2/4 # Resp: 0 Python 3.x x = 2/4 # Resp: 0.5 Divisão por Inteiros retornam Float!
  • 11. Python 3.x Tipos básicos - Comparações Python 2.x if x <> y: #ou if x != y Python 3.x if x!=y Não há mais o operador <> !
  • 12. Python 3.x Tipos básicos - Dicionários Python 2.x a = {} a.has_key(‘casa’) Python 3.x ‘casa’ in a Não há mais o método has_key em Dicts!
  • 13. Python 3.x Tipos básicos - Dicionários Python 2.x a = {‘nome’: ‘marcel’, ‘idade’: 26} a.items() # [(‘nome’,‘marcel’),( ‘idade’, 26)] a.keys() # [‘nome’, ‘idade’] Python 3.x a = {‘nome’: ‘marcel’, ‘idade’: 26} list(a.items()) # [(‘nome’,‘marcel’),( ‘idade’, 26)] list(a.keys()) # [‘nome’, ‘idade’] Não retornam como listas, não podem ser indexados!
  • 14. Python 3.x Tipos básicos - next() Python 2.x iterator.next() Python 3.x next(iterator) iterator.next() Há uma função global next() para iteradores!
  • 15. Python 3.x Tipos básicos - repr() Python 2.x `x` ou repr(x) Python 3.x repr(x) `` para capturar representação não mais existe!
  • 16. Python 3.x Try ... Except.. Python 2.x try: import module except ImportError, e: pass Python 3.x try: import module except ImportError as e: pass Captura de erros e objetos com a keyword ‘as’
  • 17. Python 3.x raise Python 2.x raise MyException , ‘mensagem de erro’ Python 3.x raise MyException ( ‘mensagem de erro’ ) Lançar mensagens com método apenas!
  • 18. Python 3.x List Comprehensions Python 2.x [ i for i in 1,2] #Isso é TENSO Python 3.x [i for i in (1,2)] Iterar sobre tuplas apenas com parênteses!
  • 19. Python 3.x I/O library Python 2.x a = open(‘arquivo.txt’,’w’) a.write(‘hello’) Python 3.x with open(‘arquivo.txt’,’w) as f: f.write(‘hello’) P
  • 20. 2to3 conversor Já instalado com seu Python 3.x ou encontrado em ../Tools/scripts def greet(name): print "Hello, {0}!".format(name) print "What's your name?" name = raw_input() greet(name) $ 2to3 example.py def greet(name): print("Hello, {0}!".format(name)) print("What's your name?") name = input() greet(name) http://docs.python.org/library/2to3.html
  • 21. Python 3.x Referências http://www.slideshare.net/jza/python-3000 http://diveintopython3.org/porting-code-to-python-3- with-2to3.html http://docs.python.org/library/2to3.html
  • 22. Python 3.x - Parte 1 E agora ?? O que eu faço ?? Marcel Caraciolo Daker Fernandes Thais Bione

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n