A legérdekesebb újítások:
- Tulajdonító kifejezés:
Az új := operátor lehetővé teszi értékek hozzárendelését a változókhoz kifejezésekben. Például:
if (n := len(a)) > 10:
print(f"A lista túl hosszú ({n} elem, várt <= 10)") - Csak helymeghatározó argumentumok:
Most meg lehet határozni, hogy mely funkcióparaméterek adhatók át név szerinti argumentum szintaxissal, é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, `b` nem lehet név szerinti argumentum
f(10, 20, 30, 40, 50, f=60) # hiba, `e` kötelezően név szerinti argumentumnak kell lennieEz a változás lehetőséget ad a fejlesztőknek, hogy megvédjék API felhasználóikat a funkciók argumentumainak elnevezésének változásaival szemben.
- f-string támogatás = önmagát dokumentáló kifejezésekhez és hibakereséshez:
Hozzáadva cukor a hibakereső / naplózó üzenetek egyszerűsítéséhez.
n = 42
print(f'Hello world {n=}.’)
# напечатает "Hello world n=42." - Javítva a continue kulcsszó a végrehajtási blokkban (korábban nem működött).
Egyéb:
- Közvetlenül megadható a bájt-kód gyorsítótárának elérési útja a default __pycache__ helyett.
- A Debug és Release buildek ugyanazt az ABI-t használják.
Forrás: linux.org.ru
