لقد حان عام 2020 ، مما يعني أن بيثون 2 لم يعد مدعومًا . للتأكد من دقته ، توقف المطورون الرئيسيون بالفعل عن العمل في الفرع ، وسيعد إصدار الإصدار 2.7.18 ، المخصص لـ PyCon US في أبريل 2020 ، بمثابة وقف كامل لأي نشاط متعلق ببيثون 2.
من ناحية أخرى ، حدث الإصدار الأخير من Python 3.8 ، مما أضاف القليل من السكر النحوي إلى اللغة. ومع ذلك ، لم يتم توقع Python 3.9 قريبًا ، ومع ذلك لا يبدو أنه يضيف أي شيء مثير للاهتمام إلى اللغة.
لذا ، إذا لم تتخلى عن Python 2 فجأة ، فلا فائدة من سحبها: دعم الإصدار الثاني قد توقف بالفعل ، والتحول على الفور إلى 3.8 سيسمح لك باستخدام اللغة في أحدث حالاتها لفترة طويلة قادمة.
حسنًا ، لتسهيل اتخاذ القرار ، فيما يلي نظرة عامة على الابتكارات الرئيسية لبرنامج Python 3.8 ، والتي ستكون مفيدة لكل عازف بيثون.
1. تعبيرات التعيين
يُعرف أيضًا باسم مشغل الفظ ، بناء جملة جديد يسمح لك بتعيين قيم للمتغيرات داخل تعبير آخر. ربما هذا هو الأكثر شهرة ونوقشت من الابتكارات الإصدار 3.8.
a = 6
الغرض من تعريف المشغل هو زيادة قابلية قراءة الكود ، لذا فإن استخدامه (مثل جميع المشغلين الآخرين) ليس ضروريًا في أول فرصة ، ولكن فقط عند الاقتضاء.
2. فقط الحجج الموضعية
يمكن أن تأخذ الوظائف نوعين من الوسائط.
- الموقف - تنتقل عن طريق الموقف
- اسمه - مرت بالاسم
في الكود أدناه ، يمكن تمرير قيم كلا الوسيطتين a و b حسب الموضع والاسم.
def my_func(a, b=1): return a+b my_func(5,2)
في الإصدار الجديد من Python ، يمكنك تحديد أي من المعلمات يمكن أن تكون موضعية فقط أو تتم تسميتها فقط باستخدام / و * الأحرف في توقيع الوظيفة (ومع ذلك ، ظهر الأخير قبل Python 3.8).
في المثال أدناه ، تكون المعلمتان الأولتان a و b موضعية فقط ، c و d يمكن أن تكونا أي ، ويجب تسمية الأخيرتين e و f .
def my_func(a, b, /, c, d, *, e, f): return a+b+c+d+e+f my_func(1, 2, 3, 4, 5, 6)
لماذا الحد من مرونة أنواع الحجة؟ في بعض الحالات ، سيكون استخدام اسم المعلمة بدلاً من موقعه عديم الفائدة وغير مناسب. سيتجنب التقييد أيضًا المشكلات إذا كنت تخطط لتغيير أسماء الوسائط الموضعية في المستقبل.
3. و الخطوط 2.0
من الصعب أن أصف بالكلمات مدى سهولة وأنيق تنسيق الخطوط f التي ظهرت في Python 3.6.
من الصعب تصديق ذلك ، لكن بيثون 3.8 نجح في جعله أكثر راحة. بإضافة العلامة = بعد اسم المتغير الذي تم استبداله ، يمكنك عرض اسمه وقيمته دون تكرار الاسم.
pi = 3
التصحيح مع الطباعة سيكون أكثر ملاءمة :)
4. الترتيب العكسي لإدخالات القاموس
يمكن الآن إجراء التكرار على القواميس في الاتجاه المعاكس باستخدام عكس () .
5. الحصول على البيانات الوصفية من وحدات أخرى
ستسمح لك الوحدة النمطية importlib.metadata الجديدة بالحصول على بيانات التعريف (على سبيل المثال ، الإصدار) من حزم الجهات الخارجية.
6. وأخيرا + الاستمرار
في السابق ، لم يكن بإمكانك استخدام عبارة المتابعة من الداخل أخيرًا بسبب صعوبة تنفيذ هذه الميزة. الآن يمكنك ذلك.
for i in range(2): try: print(i) finally: print('.') continue print(' .')