تعرف على الميزات المثيرة في Python 3.12 والتي ستجعل حياتك مطورًا أسهل.
تخطط Python لإصدار الإصدار 3.12 من اللغة في أكتوبر 2023. يقدم هذا الإصدار مجموعة من الميزات والتحسينات المثيرة. هدفها هو تحسين تجربة الترميز الخاصة بك من خلال تقديم نظام أساسي أكثر كفاءة وقوة ، مما يتيح لك تحسين مهاراتك في الترميز.
1. رسائل خطأ محسنة
تعمل Python باستمرار على تحسين رسائل الخطأ الخاصة بها في الإصدارات الأخيرة. ال قدم الإصدار 3.11 رسائل خطأ أكثر دقة من خلال الإشارة إلى المواضع الدقيقة داخل السطور.
ينتقل Python 3.12 بهذه التحسينات إلى المستوى التالي ، مع الإضافات التالية:
- تتضمن اقتراحات الوحدات النمطية المفقودة ("هل نسيت استيراد X؟") الآن وحدات من المكتبة القياسية.
- اقتراحات أخطاء محسّنة لأخطاء بناء الجملة الشائعة المتعلقة بالواردات. على سبيل المثال ، إذا كان لديك استيراد ع من م في التعليمات البرمجية الخاصة بك ، سوف يسألك خطأ عما إذا كنت تنوي الكتابة من م استيراد ص.
- تتضمن أخطاء الاستيراد لوحدة نمطية معينة الآن اقتراحات من مساحة اسم الوحدة النمطية المستوردة.
- الاسم خطأ تتضمن الاقتراحات الآن أيضًا الذات يضاف إلى الاسم عند رفعه داخل مثيل فئة. على سبيل المثال ، إذا كان الاسم سرعة لم يتم تعريفه ، وسوف تقترح رسالة الخطأ النفس. السرعة كتصحيح محتمل. هذا مفيد بشكل خاص منذ الحذف الذات على سبيل المثال المتغيرات هي مصدر شائع للأخطاء في حالات الطبقة.
2. دعم ملف تعريف Linux Perfiler
أداة تعريف Linux المستخدمة على نطاق واسع ، أداء، يمكن الآن العمل مع برامج Python 3.12. في الماضي ، كان يركز فقط على تتبع العمليات على المستوى C في وقت تشغيل Python.
باستخدام Python 3.12 ، يمكنك الآن تنشيط perf لجمع تفاصيل حول برامج Python أيضًا. يمكنك تنشيطه إما على مستوى البيئة أو داخل برنامج Python باستخدام sys.activate_stack_trampoline وظيفة.
3. اكتب تحسينات التلميح
منذ تقديمه في Python 3.5 ، أتاح بناء جملة تلميحات الكتابة في Python أدوات الفحص للكشف عن مجموعة واسعة من الأخطاء مسبقًا. مع كل إصدار لاحق ، تطور نظام Python ليشمل نطاقًا أوسع من حالات الاستخدام ، مما يوفر ميزات كتابة محسّنة.
TypedDict
يقدم Python 3.12 ملف استخدام TypedDicts كمصدر للتلميح إلى وسيطات الكلمات الرئيسية في الوظائف. هذا يستخدم Unpack المتغير العام ، والذي قدمه الإصدار 3.11.
إليك مثال يوضح هذه الميزة:
فصلفيلم(TypedDict):
الاسم: شارع
سنة: int
defفو(** kwargs: Unpack [فيلم]) -> لا أحد: ...
في هذه الحالة ، الوظيفة فو يمكن أن تتلقى وسيطات الكلمات الأساسية بأسماء وأنواع تتوافق مع محتويات Movie TypedDict: اسم من النوع شارع و سنة من النوع int.
تثبت قيمة هذا التحسين عند وظائف تلميح الكتابة التي تقبل وسيطات اختيارية للكلمات الرئيسية فقط بدون قيم افتراضية.
اكتب صيغة المعلمة
يقدم Python 3.12 بناء جملة أكثر إيجازًا لتحديد الأنواع في الفئات العامة أو الوظائف أو الأسماء المستعارة للنوع.
ضع في اعتبارك ما يلي:
# الطريقة القديمة
من الكتابة يستورد النوع
_T = TypeVar ("_T")
deffunc(أ: _T ، ب: _T) -> _T:
...
# طريقة معلمة النوع الجديد
deffunc[تي](أ: T ، ب: T) -> T:
...
مع بناء الجملة الجديد ، ليست هناك حاجة لاستيراد TypeVar بشكل صريح. بدلاً من ذلك ، يمكنك استخدام ملف func [T] بناء الجملة للإشارة إلى مراجع النوع العام. من الممكن أيضًا تعريف حدود النوع ، مثل تحديد أن النوع يجب أن يكون ضمن مجموعة من الأنواع. ومع ذلك ، لا يمكن أن تكون هذه الأنواع نفسها عامة. مثال على هذا النحو هو func [T: (str، int)].
4. جمع القمامة
في Python 3.12 ، تم إصدار آلية جمع القمامة (GC) تغير. في السابق ، كان GC يعمل كلما تم تخصيص كائن.
ومع ذلك ، بدءًا من Python 3.12 ، تعمل GC حصريًا داخل نطاق قواطع EVAL آلية في حلقة Python bytecode. بمعنى آخر ، يتم تشغيله بين تنفيذ رمز بايت واحد والتالي.
بالإضافة إلى ذلك ، يتم تشغيل GC أيضًا عند استدعاء آلية فحص معالج إشارة CPython. يتيح هذا الضبط إمكانية جمع البيانات المهملة بشكل دوري أثناء المكالمات طويلة المدى إلى امتدادات C خارج وقت التشغيل.
الكشف عن Python 3.12
يقدم Python 3.12 مجموعة من الميزات والتحسينات المثيرة ، مما أحدث ثورة في تجربة الترميز بالنسبة لك. من خلال رسائل الخطأ المحسّنة ، وإمكانيات الكتابة المحسّنة ، ودعم ملف تعريف Linux Perfiler ، و جمع القمامة المحسن ، يزودك Python 3.12 بالأدوات اللازمة لكتابة تعليمات برمجية عالية الجودة بكفاءة. احتضن قوة Python وارفع مهاراتك في البرمجة إلى آفاق جديدة.