Antes de se iniciar no Python, surge sempre a dúvida: qual versão da linguagem devo aprender? Talvez mais difícil que esta é a dúvida que vem de quem já programa em Python: devo fazer meus programas em qual versão do Python?
O ponto é que as duas maiores versões major do Python (2 e 3, as únicas em uso) têm diferenças cruciais. O Python 3 não é retrocompatível, e isso acaba trazendo algumas confusões e dúvidas para nós, desenvolvedores.
Mas o que essa “retroincompatibilidade” significa? Basicamente, indica que código escrito em Python 2 pode não funcionar rodando no interpretador do Python 3.
O Python 3 foi lançado no final de 2008, pouco mais de 8 anos depois do Python 2, e veio com intenções claras – retificar as falhas de design que a linguagem trazia.
Mas e aí? O que fazer? Neste post vamos tentar debater isso, apresentando pontos explicativos das diferenças entre as versões e argumentando em prol de um código mais pythônico.
Artigos relacionados:
- O que é Machine Learning e como trabalhar na área
- 9 ferramentas para visualização de dados!
- O que é inovação? Confira exemplos, tipos e inovação no trabalho
- Desenvolvedor mobile: o que faz e as habilidades necessárias
Python 2 e 3, quais são as diferenças?
Python é uma linguagem de programação popular e amplamente utilizada, e suas duas principais versões são o Python 2 e o Python 3. Embora compartilhem muitas semelhanças, existem algumas diferenças significativas entre as duas versões.
As principais diferenças entre Python 2 e Python 3:
Vamos direto ao ponto:
Sintaxe e Print Statement:
Python 2, o print é uma instrução (statement) e é usado como print “Olá, mundo!”.
Python 3, o print é uma função e requer parênteses, como print(“Olá, mundo!”).
Divisão de Números Inteiros:
Python 2, a divisão de dois números inteiros resulta em um número inteiro. Por exemplo, 5 / 2 retorna 2.
Python 3, a divisão de dois números inteiros resulta em um número de ponto flutuante. Por exemplo, 5 / 2 retorna 2.5.
Leia também: Desenvolvedores Full Stack: Domine as 7 habilidades necessárias para crescer na carreira
Tratamento de Strings:
Python 2, as strings são tratadas como ASCII por padrão, e as strings Unicode requerem uma notação especial: u”texto”.
Python 3, as strings são tratadas como Unicode por padrão, e as strings em ASCII requerem uma notação especial: b”texto”.
Função range():
Python 2, a função range() gera uma lista de números, ocupando memória.
Python 3, a função range() gera um objeto de sequência, sendo mais eficiente para grandes intervalos.
Importante: Conheça os 10 melhores cursos gratuitos e baratos de lógica de programação!
Iteração em Dicionários:
Python 2, a iteração em dicionários usando dict.keys(), dict.values() ou dict.items() retorna listas.
Python 3, esses métodos retornam objetos de visualização (view objects), que são mais eficientes e consomem menos memória.
Função input():
Python 2, a função input() avalia a entrada do usuário como uma expressão Python.
Python 3, a função input() retorna uma string, exigindo que você converta explicitamente para outro tipo, se necessário.
Confira: Cloud Computing: o que é e como funciona? [Guia completo 2023]
Manipulação de Bytes:
Python 2, bytes representados como strings.
Python 3, os bytes são uma sequência de números inteiros e há o novo tipo bytearray.
Comparação de Tipos e Objetos:
Python 2, a comparação de objetos com tipos diferentes pode não gerar erros, tornando o código potencialmente confuso.
Python 3, a comparação de tipos diferentes gera um erro explícito, evitando ambiguidades e tornando o código mais seguro.
Para qual versão programar?
Uma pesquisa realizada em 2014, destinada a desenvolvedores Python pode ajudar a entender a visão que prevalece, ou ao menos prevalecia, no período da pesquisa.
Priorize a última versão, quando possível. Sendo assim, se você está começando um projeto pessoal, prefira programar pensando no Python 3. Observe também o Índice TIOBE para fazer uma transição mais tranquila.
Começar um novo projeto com Python 3 pode evitar possíveis problemas que a versão anterior carrega e que já foram consertados, além de conseguir maior suporte para próximos avanços, afinal desde de 2020 o Python 2 foi descontinuado, perdendo grande parte de seu suporte.
Recomenda-se que código em Python 2 seja migrado para a terceira versão, e é o que grande parte dos importantes projetos em Python, inicialmente desenvolvidos na segunda versão, estão fazendo, como é o caso do Requests e BeautifulSoup.
Essas são algumas das principais diferenças entre Python 2 e Python 3. A transição do Python 2 para o Python 3 pode exigir alguma adaptação, mas é um passo importante para aproveitar ao máximo a versatilidade e as melhorias oferecidas pela versão mais recente da linguagem.
No Curso de Desenvolvimento de Software da Korú, você aprende a dominar as ferramentas mais atualizadas do mercado e se destacar na concorrência. Alavanque sua carreira com esta formação completa!