A legérdekesebb újítások:
- Hozzárendelési kifejezés:
Az új := operátor lehetővé teszi, hogy értékeket rendeljen a kifejezéseken belüli változókhoz. Például:
ha (n := len(a)) > 10:
print(f"A lista túl hosszú ({n} elem, várhatóan <= 10)") - Csak pozíciós argumentumok:
Most már megadhatja, hogy mely függvényparaméterek adhatók át elnevezett argumentumszintaxison, és melyek nem. Példa:
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) # hiba, a „b” nem lehet elnevezett argumentum
f(10, 20, 30, 40, 50, f=60) # hiba, az "e" névvel ellátott argumentumnak kell lennieEz a módosítás lehetőséget ad a fejlesztőknek, hogy megvédjék API-juk felhasználóit a függvényargumentumok nevének változásaitól.
- Az f-strings = támogatása a kifejezések öndokumentálásához és hibakereséshez:
Hozzáadott cukor az üzenetek hibakeresésének/naplózásának egyszerűsítése érdekében.
n = 42
print(f'Hello world {n=}.')
A # kiírja a „Hello world n=42” szöveget. - Javítva a folytató kulcsszó a Végül blokkban (korábban nem működött).
Egyéb:
- Explicit módon megadhatja a bájtkód gyorsítótár elérési útját az alapértelmezett __pycache__ helyett.
- A Debug és Release buildek ugyanazt az ABI-t használják.
Forrás: linux.org.ru