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 weesHierdie 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