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êzeDizze 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