Se você é iniciante, deve estar se perguntando com qual versão do Python deve ser fácil começar: Python 2 ou Python 3. Bem, não é um debate muito grande, pois cada uma das versões tem seu quinhão de prós e contras . Antes de mergulharmos nas diferenças entre os dois, observe que o Python 3 é a próxima geração da linguagem que está prestes a substituir a versão 2 até 2020. No entanto, o Python 2.7 ainda é a linguagem mais usada na comunidade do Python. O Python 3 é sem dúvida o futuro do Python, enquanto alguns programadores aderem ao Python 2.7 por causa de seu suporte limitado à biblioteca e pacotes limitados apenas à versão 2. Vamos estudar a diferença entre eles em detalhes.
O Python foi conceitualizado no final dos anos 80 e sua implementação começou em 1989 por Guido van Rossum, que então trabalhou em um projeto chamado “Amoeba” na CWI Holanda, Amsterdã. Python 2.0 foi lançado em 16º Em outubro de 2000, com uma nova especificação técnica chamada de Python Enhancement Proposal (PEP), juntamente com alguns recursos adicionais, como compreensão de lista, maior suporte a Unicode, sistema de coleta de lixo com detecção de ciclo e muito mais. Continuou a se desenvolver ao longo do tempo com lançamentos atualizados que adicionaram funcionalidades adicionais à linguagem de programação com a versão 2.7.
O Python 3 é a próxima geração da linguagem de programação lançada em dezembro de 2008, juntamente com vários novos aprimoramentos e recursos, incluindo alguns recursos obsoletos. A versão é completamente diferente de seus antecessores e está atualmente em desenvolvimento para substituir a versão 2.7. A versão 3 foi lançada para solucionar os problemas de segurança e as falhas de design das versões anteriores, removendo a redundância. Poucas das principais mudanças no Python 3 incluem alteração da instrução de impressão em uma função interna, divisão de números aprimorada, melhor suporte a Unicode e mais.
O Python 2.0 foi lançado no final de 2000 como um processo de desenvolvimento de linguagem mais transparente e versátil para substituir seus antecessores, graças a alguns recursos adicionais, como compreensão de lista e sistema de coleta de lixo. O processo de desenvolvimento ficou mais transparente com o apoio da comunidade com o lançamento do Python 2.2. No entanto, à medida que as linguagens de programação evoluem com o tempo, também aumenta sua funcionalidade, o que eventualmente causa problemas para os desenvolvedores. Como resultado, a versão 3 do Python foi lançada em 2008 no final de 2008 para solucionar as falhas de design nas versões anteriores..
Uma das principais diferenças entre a versão 2 e a versão 3 do Python é a maneira como a instrução "print" funciona. O mesmo script não será executado nas duas versões ao mesmo tempo. No Python 2.0, a sintaxe de impressão é tratada como uma instrução, e não como uma função que não exige que o texto seja envolvido em um par extra de parênteses. No entanto, no Python 3, print () é tratado explicitamente como uma função que também é compatível com versões anteriores da versão 2.7 e que também significa que o texto a ser impresso deve ser colocado entre parênteses, ou você receberá um erro de sintaxe.
Dividir dois números inteiros no Python 2.0 sempre retornará um número inteiro e truncará a casa decimal que é chamada de divisão inteira. Em termos simples, o Python 2.0 trata os dígitos após os pontos decimais como números inteiros, o que resulta na divisão do piso. Por exemplo, se você digitar a expressão 5/2 no Python 2, ela retornará 2 como resultado, em vez de 2.5. Ele simplesmente retorna inteiro para o número inteiro mais próximo. No entanto, o Python 3 retornará 2,5 como resultado, o que torna a divisão inteira mais intuitiva e fácil de usar, especialmente para iniciantes.
O texto é apresentado usando dois tipos de strings no Python: Strings Unicode ou Bytes. Unicode é o padrão internacional para codificação de caracteres e a string Unicode é uma estrutura de dados na linguagem Python usada para armazenar texto, enquanto bytes são usados para armazenar dados binários arbitrários. No Python 2, cada string Unicode precisa ser marcada com um prefixo “u”, pois usa caracteres ASCII por padrão, o que não é tão flexível quanto a codificação Unicode. No entanto, o Python 3 armazena seqüências de caracteres como Unicode por padrão, que são mais versáteis que as seqüências de caracteres ASCII.
A função “xrange” do Python 2 não existe no Python 3, pois é preterida e substituída pelo “range ()” na versão 3. A função range é mais poderosa que o xrange do Python 2, o que torna mais rápido quando iterando sobre a mesma sequência várias vezes. A função range se comporta como a função xrange da versão 2.0. No entanto, uma das principais vantagens da função xrange é que um objeto xrange sempre ocupa a mesma quantidade de memória, independentemente do tamanho do intervalo que representa.
Python é uma linguagem de programação versátil e de alto nível usada para programação de uso geral e é fácil de aprender, independentemente de você optar por trabalhar com a versão 2.0 ou a versão 3. do Python. É uma decisão difícil tanto para a comunidade quanto para os iniciantes para passar do Python 2 para o Python 3. Embora ambas as versões compartilhem algumas semelhanças em termos de funcionalidade, elas não devem ser tratadas como totalmente intercambiáveis, pois a transição está prestes a acontecer, de uma maneira ou de outra. Embora o Python 2 seja a linguagem de programação mais antiga e ainda mais popular entre a comunidade, o Python 3 é a linguagem da próxima geração que existe para ficar.