La plej interesaj novigoj:
- Asigno-esprimo:
La nova := operatoro permesas vin asigni valorojn al variabloj ene de esprimoj. Ekzemple:
se (n := len(a)) > 10:
print(f"Listo estas tro longa ({n} elementoj, atendataj <= 10)") - Poziciaj nuraj argumentoj:
Vi nun povas specifi kiuj funkcioparametroj povas esti pasigitaj tra nomita argumentsintakso kaj kiuj ne povas. Ekzemplo:
def f(a, b, /, c, d, *, e, f):
presi (a, b, c, d, e, f)f(10, 20, 30, d=40, e=50, f=60) # Bone
f(10, b=20, c=30, d=40, e=50, f=60) # eraro, `b` ne povas esti nomita argumento
f(10, 20, 30, 40, 50, f=60) # eraro, `e` devas esti nomita argumentoĈi tiu ŝanĝo donas al programistoj manieron protekti uzantojn de siaj API-oj kontraŭ ŝanĝoj en funkcio-argumentnomoj.
- Subteno f-ŝnuroj = por memdokumentaj esprimoj kaj senararigado:
Aldonita sukero por simpligi sencimigajn/registrajn mesaĝojn.
n = 42
print(f'Saluton mondo {n=}.')
# presigos "Saluton mondo n=42." - Riparis la daŭrigi ŝlosilvorton en la fine bloko (ĝi ne funkciis antaŭe).
Aliaj:
- Vi povas eksplicite specifi la vojon al la bajtkoda kaŝmemoro anstataŭ la defaŭlta __pycache__.
- Sencimigaj kaj Eldonaj konstruoj uzas la saman ABI.
fonto: linux.org.ru