En ilginç yenilikler:
- Atama ifadesi:
Yeni := operatörü, ifadelerin içindeki değişkenlere değer atamanıza olanak tanır. Örneğin:
if (n := len(a)) > 10:
print(f"Liste çok uzun ({n} öğe, beklenen <= 10)") - Yalnızca konumsal bağımsız değişkenler:
Artık hangi işlev parametrelerinin adlandırılmış bağımsız değişken söz dizimi aracılığıyla aktarılabileceğini ve hangilerinin aktarılamayacağını belirtebilirsiniz. Örnek:
def f(a, b, /, c, d, *, e, f):
yazdır(a, b, c, d, e, f)f(10, 20, 30, d=40, e=50, f=60) # Tamam
f(10, b=20, c=30, d=40, e=50, f=60) # hata, 'b' adlandırılmış bir argüman olamaz
f(10, 20, 30, 40, 50, f=60) # hata, 'e' adlandırılmış bir argüman olmalıdırBu değişiklik, geliştiricilere API kullanıcılarını işlev bağımsız değişkeni adlarındaki değişikliklerden korumaları için bir yol sağlar.
- Kendi kendini belgeleyen ifadeler ve hata ayıklama için f-strings = desteği:
Hata ayıklama/günlüğe kaydetme mesajlarını basitleştirmek için şeker eklendi.
n = 42
print(f'Merhaba dünya {n=}.')
# "Merhaba dünya n=42" yazacaktır. - Nihayet bloğundaki devam anahtar sözcüğü düzeltildi (daha önce işe yaramıyordu).
Diğer:
- Varsayılan __pycache__ yerine bayt kodu önbelleğinin yolunu açıkça belirleyebilirsiniz.
- Hata Ayıklama ve Sürüm derlemeleri aynı ABI'yi kullanır.
Kaynak: linux.org.ru