Diferenças entre versões

Chegou o momento de compreendermos as diferenças cruciais entre as versões de Python. No mundo da programação, as linguagens evoluem constantemente para incorporar novas funcionalidades, melhorar a eficiência e corrigir erros. Python não é exceção. Esta evolução contínua significa que as versões de Python podem apresentar diferenças significativas. Vamos explorar estas diferenças de forma prática e concreta.

Python 2 vs Python 3

A principal distinção que muitos novos programadores encontram é entre o Python 2 e o Python 3. Embora o suporte oficial para o Python 2 tenha terminado em janeiro de 2020, é importante reconhecer as diferenças porque muitos projetos legados ainda usam Python 2.

Exemplo Prático: A função print

Em Python 2, a função print é usada sem parênteses:

# Python 2
print "Olá, Mundo!"

Em Python 3, print tornou-se uma função e portanto requer parênteses:

# Python 3
print("Olá, Mundo!")

Exemplo Prático: Divisão de Inteiros

Em Python 2, a divisão de dois inteiros resulta em outro inteiro:

# Python 2
resultado = 7 / 2   # resultado será 3

Em Python 3, a divisão de dois inteiros resulta num número de ponto flutuante:

# Python 3
resultado = 7 / 2   # resultado será 3.5

Se pretende a divisão inteira em Python 3, utiliza o operador //:

# Python 3
resultado = 7 // 2   # resultado será 3

Exemplo Prático: Manipulação de Strings

Outra diferença importante surge na manipulação de strings. Em Python 2, as strings são tratadas como str e unicode separadamente. Em Python 3, todas as strings são por defeito Unicode.

Python 2:

# Python 2
texto = u"Olá, Mundo!"

Python 3:

# Python 3
texto = "Olá, Mundo!"  # Por defeito, as strings são Unicode

Versões de Python 3.x

Python 3.x trouxe várias versões desde o seu lançamento em 2008, com melhorias incrementais. Eis algumas mudanças notáveis nas versões mais recentes:

Python 3.6: Formatação de Strings com f-Strings

Introduziu-se uma forma mais prática e eficiente de formatar strings, conhecida como f-strings.

# Python 3.6+
nome = "João"
idade = 30
print(f"O meu nome é {nome} e tenho {idade} anos")

Python 3.7: Função breakpoint()

A introdução da função breakpoint() facilitou a inserção de pontos de interrupção para depuração.

# Python 3.7+
breakpoint()  # Insere um ponto de interrupção aqui

Python 3.8: Operador de Atribuição Walrus (:=)

Permite a atribuição de valores no meio de uma expressão.

# Python 3.8+
if (n := len("Olá, Mundo!")) > 10:
    print(f"O comprimento da string é {n}")

Que Versão Devo Usar?

Para a maioria dos novos projetos, recomenda-se utilizar a versão mais recente do Python 3.x. Esta versão oferece as mais recentes funcionalidades e melhorias de performance, e normalmente inclui correções de segurança que não estão disponíveis nas versões mais antigas.

Exceção: Manutenção de Projetos Legados

Se está a trabalhar num projeto legado que foi iniciado em Python 2, pode necessitar de manter essa versão. No entanto, se puder, considere migrar para Python 3 para beneficiar das melhorias e suporte futuro.

Resumo

Explorámos as principais diferenças entre Python 2 e Python 3 e destacámos alguns dos avanços introduzidos nas versões mais recentes de Python 3.x. Ao compreender estas diferenças, estará mais bem equipado para decidir qual a versão de Python que melhor se adequa às suas necessidades e como adaptar o seu código em conformidade.

<< Definição e vantagens sob... Índice Anaconda e ambientes de d... >>