سب سے دلچسپ اختراعات:
- تفویض اظہار:
نیا := آپریٹر آپ کو اظہار کے اندر متغیرات کو قدریں تفویض کرنے کی اجازت دیتا ہے۔ مثال کے طور پر:
اگر (n := len(a)) > 10:
پرنٹ (f"فہرست بہت لمبی ہے ({n} عناصر، متوقع <= 10)") - صرف پوزیشن کے دلائل:
اب آپ یہ بتا سکتے ہیں کہ کون سے فنکشن پیرامیٹرز کو نامی دلیل نحو کے ذریعے پاس کیا جا سکتا ہے اور کون سے نہیں۔ مثال:
def f(a, b, /, c, d, *, e, f):
پرنٹ (a, b, c, d, e, f)f(10, 20, 30, d=40, e=50, f=60) # ٹھیک ہے
f(10, b=20, c=30, d=40, e=50, f=60) # خرابی، `b` ایک نامزد دلیل نہیں ہو سکتا
f(10, 20, 30, 40, 50, f=60) # غلطی، `e` ایک نامزد دلیل ہونا ضروری ہےیہ تبدیلی ڈویلپرز کو اپنے APIs کے صارفین کو فنکشن آرگومنٹ کے ناموں میں ہونے والی تبدیلیوں سے بچانے کا ایک طریقہ فراہم کرتی ہے۔
- سپورٹ f-strings = خود دستاویزی اظہار اور ڈیبگنگ کے لیے:
ڈیبگنگ/لاگنگ پیغامات کو آسان بنانے کے لیے چینی شامل کی گئی۔
N = 42
پرنٹ (f'Hello world {n=}.')
# "Hello world n=42" پرنٹ کرے گا۔ - آخر میں بلاک میں جاری کلیدی لفظ کو طے کیا (اس سے پہلے کام نہیں کرتا تھا)۔
دیگر:
- آپ پہلے سے طے شدہ __pycache__ کی بجائے واضح طور پر بائیک کوڈ کیشے کا راستہ بتا سکتے ہیں۔
- ڈیبگ اور ریلیز بلڈز ایک ہی ABI کا استعمال کرتے ہیں۔
ماخذ: linux.org.ru