Publication de Python 3.8

Les nouveautés les plus intéressantes :

  • Expression d'affectation :

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

  • Arguments uniquement positionnels :

    Vous pouvez maintenant indiquer quels paramètres de fonction peuvent être transmis via la syntaxe des arguments nommés, et lesquels ne le peuvent pas. Exemple :
    def f(a, b, \/, c, d, *, e, f) :
    print(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 dans les noms des arguments de fonction.

  • Support des f-strings = pour des expressions auto-documentées et le débogage :

    Du sucre syntaxique a été ajouté pour simplifier les messages de débogage / de log.
    n = 42
    print(f’Hello world {n=}.’)
    # напечатает "Hello world n=42."

  • Correction du mot-clé continue dans le bloc finally (il ne fonctionnait pas auparavant).

Autres :

  • Vous pouvez explicitement indiquer le chemin du cache de bytecode au lieu du __pycache__ par défaut.
  • Les builds Debug et Release utilisent le même ABI.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster