Translate
U3F1ZWV6ZTEwNzU2NzEzODg4X0FjdGl2YXRpb24xMjE4NTg3MzAwNTM=
recent
أخبار ساخنة

ما الجديد في python 3.9 ؟

السلام عليكم.
قبل أيام طرحت Python Software Foundation الإصدار التجريبي من بايثون 3.9 الذي من المقرر أن يوزع الإصدار الرسمي له شهر أكتوبر المقبل. (النسخة المستقرة حاليا هي 3.8.3)


ما هي المميزات الجديدة التي ظهرت في بايثون 3.9 ؟

سرعة أكبر من النسخ الماضية وذلك لسببين :

  1.  تعميم إستخدام vectorcall protocol وذلك يجعل الوظائف الشائعة أسرع بسبب تقليل أو إزالة الكائنات المؤقتة عن إستدعاء تلك الوظائف.
  2. تصميم CPython runtime الجديد الذي يحلل شفرة المصدر بشكل أسرع.

المزيد من الوظائف على string و dictionary

بالنسبة لمعالجة سلاسل الحروف (strings) فقد تم إضافة طرق جديدة لإزالة البادئات واللاحقات (prefixes and suffixes)، وهي العمليات التي تتطلب الكثير من العمل اليدوي حاليا.
بالنسبة للقواميس (dictionaries) ، يوجد الآن عمليات جديدة أحدهما لدمج عدة قواميس في قاموس جديد والآخر لتحديث محتويات قاموس من قاموس آخر.

عمليات جديدة على أنواع بايثون

إضافة ميزتين جديدتين من التعليقات التوضيحية على النوع (type hinting) إلى Python 3.9 :
  1. كتابة تلميحات لمحتويات المجموعات - على سبيل المثال يمكنك وصف قائمة على أنها قائمة [int] أي قائمة أعداد صحيحة من دون الحاجة إلى مكتبة للقيام بذلك.
  2. التعليقات التوضيحية المتغيرة. على سبيل المثال ، يمكن استخدام التعليقات التوضيحية [int، ctype ("char")] لوصف عدد صحيح ويجب اعتباره حرف من نوع C.

تحسينات داخلية على Python 

يعد تنظيف الأجزاء الداخلية من Python وتحسينها وتحديثها مبادرة مستمرة لمطوري Python ، ولدى Python 3.9 بعض التغييرات في هذا السياق.

التحسين الأول:
إعادة تصميم طريقة تفاعل ماكينات الاستيراد (import machinery) مع وحدات الإمتداد (extension modules) المكتوبة بلغة C، آلية التحميل الجديدة تجعلها تتصرف كأنها وحدة بايثون عادية عند الاستيراد.صارت عدة وحدات من مكتبات بايثون القياسية تدعم هذه الآلية :
  • _abc
  • audioop
  • _bz2
  • _codecs
  • _contextvars
  • _crypt
  • _functools
  • _json
  • _locale
  •  _weakref
  • وغيرها من المكتبات ... 
التحسين الثاني:
 ABI داخلي مستقر لـ CPython ، من الآن فصاعدًا ، كل وحدات الإمتدادات ستستخدم واجهة ABI المستقرة باستخدام Python 3.9، الوحدات التالية في المكتبة القياسية تستخدم ABI مستقر:

  • audioop
  • ast
  • grp
  • _hashlib
  • pwd
  • _posixsubprocess
  • random
  • select
  • Struct
  • termios
  • zlib

تعديل المشاركة
author-img

Abdou_Dz

تعليقات
    ليست هناك تعليقات
    إرسال تعليق
      الاسمبريد إلكترونيرسالة