Python 3.8 vrystelling

Die interessantste innovasies:

  • Opdrag uitdrukking:

    Die nuwe := operateur laat jou toe om waardes toe te ken aan veranderlikes binne uitdrukkings. Byvoorbeeld:
    if (n := len(a)) > 10:
    print(f"Lys is te lank ({n} elemente, verwag <= 10)")

  • Slegs posisionele argumente:

    Jy kan nou spesifiseer watter funksieparameters deur benoemde argumentsintaksis geslaag kan word en watter nie. Voorbeeld:
    def f(a, b, /, c, d, *, e, f):
    druk (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) # fout, `b` kan nie 'n benoemde argument wees
    f(10, 20, 30, 40, 50, f=60) # fout, `e` moet 'n benoemde argument wees

    Hierdie verandering gee ontwikkelaars 'n manier om gebruikers van hul API's te beskerm teen veranderinge in funksie-argumentname.

  • Ondersteun f-stringe = vir selfdokumenterende uitdrukkings en ontfouting:

    Suiker bygevoeg om ontfouting/aanteken van boodskappe te vereenvoudig.
    n = 42
    print(f'Hallo wêreld {n=}.')
    # sal "Hallo wêreld n=42" druk.

  • Het die voortgaan-sleutelwoord in die uiteindelike blok reggestel (dit het nie voorheen gewerk nie).

Ander:

  • U kan die pad na die bytecode-kas uitdruklik spesifiseer in plaas van die verstek __pycache__.
  • Ontfoutings- en vrystellings gebruik dieselfde ABI.

Bron: linux.org.ru

Voeg 'n opmerking