Versão do Python 3.8

As inovações mais interessantes:

  • Expressão de atribuição:

    O novo operador := permite atribuir valores a variáveis ​​dentro de expressões. Por exemplo:
    se (n := len(a)) > 10:
    print(f"A lista é muito longa ({n} elementos, esperado <= 10)")

  • Argumentos apenas posicionais:

    Agora você pode especificar quais parâmetros de função podem ser passados ​​pela sintaxe do argumento nomeado e quais não podem. Exemplo:
    def f(a, b, /, c, d, *, e, f):
    imprimir (a, b, c, d, e, f)

    f(10, 20, 30, d=40, e=50, f=60) #OK
    f(10, b=20, c=30, d=40, e=50, f=60) # erro, `b` não pode ser um argumento nomeado
    f(10, 20, 30, 40, 50, f=60) # erro, `e` deve ser um argumento nomeado

    Essa mudança oferece aos desenvolvedores uma maneira de proteger os usuários de suas APIs contra alterações nos nomes dos argumentos das funções.

  • Suporte f-strings = para expressões autodocumentadas e depuração:

    Adicionado açúcar para simplificar mensagens de depuração/registro.
    n = 42
    print(f'Olá mundo {n=}.')
    # irá imprimir "Olá mundo n=42."

  • Corrigida a palavra-chave continue no bloco final (não funcionava antes).

Outro:

  • Você pode especificar explicitamente o caminho para o cache de bytecode em vez do __pycache__ padrão.
  • As compilações de depuração e versão usam a mesma ABI.

Fonte: linux.org.ru

Adicionar um comentário