Python 3.9: O que há de novo agora? Recursos legais para fazer check-out
Publicados: 2020-12-01Python é a linguagem favorita de todos os tempos e a mais preferida entre os desenvolvedores. De acordo com o índice Tiobe, que é uma comunidade de programação que classifica as linguagens de programação de acordo com sua popularidade, o Python ficou em segundo lugar, ultrapassando o Java. Python tem um excelente suporte da comunidade e devido à sua simplicidade e natureza fácil de usar, todo iniciante aspira dominar pelo menos essa linguagem.
Embora essa linguagem tenha atraído muitos olhos nos últimos anos, encontrando seu uso no campo de análise de dados, aprendizado de máquina, desenvolvimento web, aplicativos de computador, IOT ou outras áreas de desenvolvimento, sua versão mais recente do Python 3.9 estável foi lançada e traz uma muitas mudanças do analisador para funcionalidades adicionais a serem alteradas na linha do tempo de lançamentos de recursos. Vejamos essas mudanças em detalhes:
Índice
Novo Operador
Ao lidar com dicionários, muitas vezes precisamos mesclá-los ou atualizá-los com entradas de outros dicionários. Anteriormente, isso poderia ser feito usando o atributo update do objeto de dicionário: first_dict.update(second_dict), mas o problema com essa abordagem é que as alterações são feitas no local e os valores originais são modificados.
Para torná-lo uma mudança temporária, outra variável é necessária para armazenar o valor anterior. Esta nova versão introduziu um novo operador conhecido como operador de mesclagem (|) que pode ser usado para mesclar dicionários. Aqui está um exemplo de código para entender isso:
A = { “nome” : “Autor”, “empresa” : “upGrad”}
B = { “status” : “instrutor”}
imprimir (A|B)
Saída: { “nome” : “Autor”, “empresa” : “upGrad”, “status” : “instrutor”}
| é como um operador de concatenação, mas se você quiser atualizar o valor original, basta usar o operador |=. Continuando o exemplo anterior, A |=B atualizará o valor do dicionário A.
Leia também: Salário do desenvolvedor Python na Índia
Operações de string
A manipulação de texto é uma parte importante do ciclo de vida da ciência de dados, especialmente durante a PNL. Existem diferentes funções para executar diferentes tipos de operações de string, como divisão, concatenação, substituição e muito mais. Juntando-se a este legado, foram adicionadas duas novas operações que são removesuffix() e removeprefix().
Como o nome sugere, eles são usados para remover prefixos e sufixos de uma string. Eles são acessíveis usando o objeto string. Essa remoção pode ser feita facilmente usando expressões regulares e fatiando as strings, mas agora temos essa funcionalidade em bibliotecas internas. Aqui está um exemplo simples para fins de ilustração:
'@something_new'.removeprefix('@')
'algo_231'.removesufix('231')
Saída:
algo novo
algo_
Módulo de fuso horário modificado
Esta versão também introduziu um novo módulo chamado zone info que suporta o banco de dados IANA na biblioteca padrão. Podemos especificar o fuso horário no objeto DateTime da biblioteca padrão, mas o usuário pode acabar criando regras complexas para os fusos horários. De acordo com o PEP 615, a base de usuários está mais inclinada para os principais fusos horários, como UTC, IANA ou fuso horário local do sistema. Agora você pode criar um objeto de informação de zona especificando o caminho de pesquisa de configuração que está no formato “continente/cidade”. Por exemplo,
de zoneinfo importar ZoneInfo
de datetime importação datetime
dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo(“Ásia/Calcutá”))
dt.tzname()
Saída: 'IST'
Saiba mais sobre: Principais ferramentas Python
Novas funções matemáticas
O módulo de matemática consiste em todas as operações numéricas que são usadas em matemática geral. Seja seno, funções cosseno, arredondamento de números para lugares específicos ou constantes universais, como pi ou exponencial, o módulo matemático abrange quase todos os tipos de funções.
Três novas funções foram adicionadas a esta lista e há math.lcm(), math.nextafter(), math.ulp(). Enquanto o LCM (Mínimo Múltiplo Comum) é uma função muito usada, as outras duas não são muito usadas. Anteriormente, tínhamos que criar explicitamente uma função para operação do LCM, mas agora, iniciando esta nova versão, temos uma funcionalidade integrada na biblioteca padrão. Para usar esta função basta chamar:

importar matemática
math.lcm(2,3)
Saída: 6
Se nenhum argumento for passado nesta função, ela retornará 1 e se um deles for zero, ela retornará 0.
Analisador de alto desempenho
Além de todas as novas adições no nível de recursos, o analisador de linguagem Python também é atualizado para uma tecnologia nova e mais rápida conhecida como analisador PEG. Esse efeito não será refletido nesta versão, mas no próximo Python 3.10. Desde o dia em que o Python foi criado, ele usa o analisador LL(1) que analisa o código de cima para baixo e da esquerda para a direita. Esse analisador é baseado em gramática livre de contexto e, portanto, é ambíguo, o que significa que as strings podem ter mais de uma árvore de análise e aumentar o número de etapas intermediárias. O novo analisador PEG gera apenas um AST (Abstract Syntax Trees) válido, removendo a ambiguidade do analisador anterior.
Nova função aleatória e mudança no ciclo de lançamento
No módulo random.random, foi adicionado um novo método randbytes(n) que retorna n bytes aleatórios. É muito semelhante a outras funções aleatórias. Também anteriormente, o Python lança uma nova versão a cada 18 meses, que foi reduzida para 12 meses.
Obtenha a certificação em ciência de dados das melhores universidades do mundo. Aprenda Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Conclusão
Sempre que uma nova versão do software é lançada, ela acompanha muitas novas mudanças. Aqui discutimos algumas das principais e destacadas mudanças no Python, que incluem novo operador, recursos adicionados e analisador aprimorado.
Há muitas mudanças novas em outros módulos também como ast, asyncio, concurrent.futures, multiprocessing, XML. Algumas funções foram depreciadas e a lista continua. Você pode verificar a documentação oficial para obter uma lista completa de atualizações no novo Python 3.9.
Se você está curioso para aprender sobre python, ciência de dados, confira o PG Diploma in Data Science do IIIT-B & upGrad, criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1-on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.
Por que o Python é preferido em relação a outras linguagens de codificação?
Existem inúmeras razões pelas quais o Python é preferido em relação a outras linguagens. Em primeiro lugar, os códigos do Python são legíveis e compreendidos mesmo por desenvolvedores que nunca os escreveram antes. Python é comum na comunidade científica, e vários pesquisadores e professores estão entre os usuários do Python. Códigos feitos em Python podem ser compartilhados, copiados e alterados pelos desenvolvedores. Além disso, o Python tem uma comunidade forte e está evoluindo rapidamente, pois é uma linguagem de programação gratuita e aberta. Python é compatível com uma ampla variedade de sistemas. Ajuda os desenvolvedores, pois eles não são confrontados com as dificuldades que prevalecem em outras linguagens.
Qual é o uso de math.nextafter() e math.ulp() em Python?
Nextafter() e ulp() são duas novas funções adicionadas à biblioteca matemática no Python 3.9.0. A função nextafter() retorna o próximo valor float após x na direção de y. Se x for igual a y, o valor y será retornado. Sua sintaxe é math.nextafter(x, y), onde xey são dois valores inteiros/ponto flutuante. ULP é uma abreviatura que significa Unidade no Último Lugar. ULP é o espaço entre os valores de ponto flutuante em análise numérica e ciência da computação. A função math.ulp() retorna o valor do bit menos significativo do float x. Sua sintaxe é matemática ulp(x), e o argumento a ser inserido, x, deve ser um float, cujo ulp deve ser retornado.
O que é analisador em Python?
Durante a etapa de análise sintática, um compilador examina se os tokens criados pelo analisador léxico estão ou não organizados de acordo com as regras sintáticas da linguagem. Um analisador é responsável por isso. O analisador obtém uma string de tokens do analisador léxico e valida se a string corresponde à gramática do idioma de origem. Quaisquer problemas de sintaxe são detectados e relatados, e uma árvore de análise é produzida a partir da qual os desenvolvedores podem gerar código intermediário. Além disso, o módulo analisador se comunica com o analisador interno do Python e o compilador de código de byte. O objetivo principal dessa interface é permitir que códigos Python alterem as árvores de análise de uma expressão Python e gerem códigos de trabalho a partir dela.
