Skip to content

Latest commit

 

History

History
93 lines (65 loc) · 2.76 KB

15-apendice-versao.md

File metadata and controls

93 lines (65 loc) · 2.76 KB

Apêndice - Python2 ou Python3?

Caso você esteja iniciando seus estudos na linguagem Python ou começando um projeto novo, aconselhamos fortemente que você utilize o Python3.

O Python2 vem sendo chamado de Python legado ou Python antigo por boa parte da comunidade que está em constante atividade para fazer a migração da base de código existente (bem grande, por sinal) para Python3.

Aconselhamos a leitura deste artigo para maiores detalhes: https://wiki.python.org/moin/Python2orPython3.

A pergunta correta aqui é: Quando devo usar o Python antigo? E a resposta mais comum que você vai encontrar é: use Python antigo quando você não tiver escolha.

Por exemplo, quando você trabalhar em um projeto antigo e migrar para a nova versão não for uma alternativa no momento. Ou quando você precisa utilizar uma biblioteca que ainda não funciona no Python3 ou não está em processo de mudança. Outro caso é quando seu servidor de hospedagem só permite usar Python2 - aqui o aconselhável é procurar por outro serviço que atenda sua demanda.

No mais, você encontrará muito material sobre o Python2 na internet e aos poucos vai conhecendo melhor as diferenças entre uma versão e outra.

Quais as diferenças?

Neste artigo você vai encontrar a resposta https://docs.python.org/3/whatsnew/3.0.html. Mas neste capítulo mostramos as diferenças mais básicas e importantes para você iniciar seus estudos.

A função print()

No Python2 o comando print funciona de maneira diferente já que não é uma função. Para imprimir algo fazemos:

   # no python2
   >>> print "Hello World!"
   Hello World!

No Python3 print é uma função e utilizamos os parênteses como delimitadores:

   # no python3
   >>> print("Hello World!")
   Hello World!

A função input()

A função raw_input do Python2 foi renomeada para input() no Python3:

   # no python2
   >>> nome = raw_input("Digite seu nome: ")

No Python3:

   # no python3
   >>> nome = input("Digite seu nome: ")

Divisão decimal

No Python2 a divisão entre números decimais é diferente entre um número decimal e um inteiro:

   # no python2
   >>> 5 / 2
   2
   >>> 5 / 2.0
   2.5

No Python3 a divisão tem o mesmo comportamento da matemática. E se quisermos o resultado inteiro da divisão utilizamos //:

   # no python3
   >>> 5 / 2
   2.5
   >>> 5 // 2
   2

Herança

No Python2 suas classes devem herdar de object:

   # no python2
   >>> class MinhaClasse(object):
   	def metodo(self, attr1, attr2):
   		return attr1 + attr2

No Python3 essa herança é implícita, não precisando herdar explicitamente de object:

   # no python3
   >>> class MinhaClasse():
   	def metodo(self, attr1, attr2):
   		return attr1 + attr2