Version Python 3.8

Les innovations les plus intéressantes :

  • Expression d'affectation :

    Le nouvel opérateur := vous permet d'attribuer des valeurs aux variables dans les expressions. Par exemple:
    si (n := len(a)) > 10 :
    print(f"La liste est trop longue ({n} éléments, attendu <= 10)")

  • Arguments de position uniquement :

    Vous pouvez désormais spécifier quels paramètres de fonction peuvent être transmis via la syntaxe d'argument nommé et lesquels ne le peuvent pas. Exemple:
    déf f(une, b, /, c, ré, *, e, f) :
    imprimer(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) # erreur, `b` ne peut pas être un argument nommé
    f(10, 20, 30, 40, 50, f=60) # erreur, `e` doit être un argument nommé

    Ce changement donne aux développeurs un moyen de protéger les utilisateurs de leurs API contre les modifications des noms d'arguments de fonction.

  • Prise en charge des f-strings = pour les expressions auto-documentées et le débogage :

    Sucre ajouté pour simplifier les messages de débogage/journalisation.
    n = 42
    print(f'Bonjour tout le monde {n=}.')
    # affichera "Bonjour tout le monde n=42."

  • Correction du mot-clé continue dans le bloc enfin (cela ne fonctionnait pas avant).

autres:

  • Vous pouvez spécifier explicitement le chemin d'accès au cache de bytecode au lieu du __pycache__ par défaut.
  • Les versions Debug et Release utilisent le même ABI.

Source: linux.org.ru

Ajouter un commentaire