Python 3.8 release

De meast nijsgjirrige ynnovaasjes:

  • Opdracht ekspresje:

    De nije operator:= lit jo wearden tawize oan fariabelen binnen útdrukkingen. Bygelyks:
    if (n := len(a)) > 10:
    print(f"List is te lang ({n} eleminten, ferwachte <= 10)")

  • Arguminten allinich posityf:

    Jo kinne no opjaan hokker funksjeparameters kinne wurde trochjûn troch de neamde argumintsyntaksis en hokker net. Foarbyld:
    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) # flater, `b` kin net in neamd argumint wêze
    f(10, 20, 30, 40, 50, f=60) # flater, `e` moat in neamd argumint wêze

    Dizze wiziging jout ûntwikkelders in manier om brûkers fan har API's te beskermjen tsjin feroaringen yn funksje-argumintnammen.

  • Stypje f-strings = foar selsdokumintearjen fan útdrukkingen en debuggen:

    Sûker tafoege om debuggen / loggen fan berjochten te ferienfâldigjen.
    n = 42
    print(f'Hallo wrâld {n=}.')
    # sil "Hallo wrâld n=42" printsje.

  • It trochsette-kaaiwurd reparearre yn it einlingsblok (it wurke earder net).

Oare:

  • Jo kinne it paad nei de bytecode-cache eksplisyt oantsjutte ynstee fan de standert __pycache__.
  • Debug en Release builds brûke deselde ABI.

Boarne: linux.org.ru

Add a comment