Python 2 ou 3?

Acredito que a maior dúvida quando começamos a programar em Python seja qual versão utilizar.

Utilizar uma versão estável e consolidada como a versão 2 ou uma versão mais nova com melhorias como a versão 3?

Muitos vão falar que é a versão 3, mas o problema nessa versão é a retrocompatibilidade.

A retrocompatibilidade é quando uma nova versão de software não tem compatibilidade com algumas ou todas as funções que existem na versão anterior.

No caso do Python quando existe o upgrade da versão 2 para 3, algumas funcionalidades param de funcionar, alguns casos com simples ajustes de sintaxe outros alteram a assinatura do método e na pior das hipóteses uma alteração na nomenclatura do método.

Qual das versões utilizar?

Para quem está começando um projeto, com certeza a versão mais atual 3 é a mais indicada.

Com a versão mais nova já podemos nos beneficiar das melhorias implementadas.

Agora para quem já está utilizando a versão 2, seria interessante instalar a versão 3, criando uma branch e migrando aos poucos.

Migração.

Uma forma de migrar é criar uma branch e ajustar as funções que não são compatíveis com a nova versão.

Mas em alguns casos, alguns métodos vão funcionar somente em uma das versões.

Um exemplo é o método input() na versão 2 e a que na versão 3 foi alterado para raw_input().

Uma forma de contornar isso é fazendo um “If maroto” verificando a versão utilizado:


from sys import version_info

if version_info.major > 2:
nome = input(‘Nome: ‘)
else:
nome = raw_input(‘Nome: ‘)

Pode não ser uma forma elegante de se escrever o código, mas é somente uma demonstração de uma solução rápida, podemos aprimorar essa técnica.

Conclusão.

Se está iniciando um novo projeto Python não pense duas vezes, comece com a versão 3. A versão Python 3 já está bem estável e pode ser utilizada sem medo, já para quem está utilizando a versão Python 2 deve começar a planejar uma migração, pois a versão 2 pode ser descontinuada em 2020.

Deixe um comentário