Python 3.9: ما الجديد الآن؟ ميزات رائعة للخروج

نشرت: 2020-12-01

Python هي اللغة المفضلة والأكثر تفضيلاً بين المطورين. وفقًا لمؤشر Tiobe ، وهو مجتمع برمجة يصنف لغات البرمجة وفقًا لشعبيتها ، فقد احتلت Python المرتبة الثانية التي تتفوق على Java. تتمتع Python بدعم مجتمعي ممتاز وبسبب بساطتها وطبيعتها سهلة الاستخدام ، يطمح كل مبتدئ إلى إتقان هذه اللغة على الأقل.

في حين أن هذه اللغة قد استوعبت الكثير من مقل العيون في السنوات الأخيرة التي وجدت استخدامها في مجال تحليلات البيانات أو التعلم الآلي أو تطوير الويب أو تطبيقات الكمبيوتر أو IOT أو مجالات التطوير الأخرى ، فقد تم إصدار أحدث إصدار لها من Python 3.9 وهو يجلب معه الكثير من التغييرات من المحلل اللغوي إلى وظائف إضافية لتغييرها في المخطط الزمني لإصدارات الميزة. لنلقِ نظرة على هذه التغييرات بالتفصيل:

جدول المحتويات

مشغل جديد

أثناء التعامل مع القواميس ، غالبًا ما نحتاج إلى دمجها أو تحديثها بإدخالات من قواميس أخرى. في وقت سابق ، كان من الممكن القيام بذلك باستخدام سمة التحديث لكائن القاموس: first_dict.update (second_dict) ولكن المشكلة في هذا الأسلوب هي أن التغييرات تتم في مكانها ، ويتم تعديل القيم الأصلية.

لجعله تغييرًا مؤقتًا ، يلزم متغير آخر لتخزين القيمة السابقة. قدم هذا الإصدار الجديد عامل تشغيل جديد يعرف باسم عامل الدمج (|) والذي يمكن استخدامه لدمج القواميس. فيما يلي مثال على رمز لفهم هذا:

أ = {"الاسم": "المؤلف" ، "الشركة": "upGrad"}

ب = {"الحالة": "المعلم"}

طباعة (أ | ب)

الإخراج: {“الاسم”: “المؤلف” ، “الشركة”: “upGrad” ، “الحالة”: “مدرس”}

| يشبه عامل التشغيل التسلسلي ، ولكن إذا كنت تريد تحديث القيمة الأصلية ، فيمكنك ببساطة استخدام العامل | =. استمرارًا للمثال السابق ، A | = B ستحدّث قيمة القاموس A.

اقرأ أيضًا: راتب مطور Python في الهند

عمليات السلاسل

يشكل التلاعب بالنص جزءًا رئيسيًا من دورة حياة علم البيانات ، خاصة أثناء معالجة اللغات الطبيعية. هناك وظائف مختلفة لأداء أنواع مختلفة من عمليات السلسلة مثل التقسيم والتسلسل والاستبدال وغيرها الكثير. الانضمام إلى هذا الإرث ، تمت إضافة عمليتين جديدتين هما removesuffix () و removeprefix ().

كما يوحي الاسم ، يتم استخدام هذه لإزالة البادئات واللواحق من سلسلة. يمكن الوصول إليها باستخدام كائن السلسلة. يمكن إجراء هذه الإزالة بسهولة باستخدام التعبيرات العادية وتقطيع السلاسل إلى شرائح ، لكن لدينا الآن هذه الوظيفة في المكتبات المدمجة. فيما يلي مثال بسيط لغرض التوضيح:

"@ something_new". removeprefix ("@")

'something_231'.removesufix (' 231 ')

انتاج:

شيء جديد

شيئا ما_

وحدة المنطقة الزمنية المعدلة

قدم هذا الإصدار أيضًا وحدة نمطية جديدة تسمى معلومات المنطقة تدعم قاعدة بيانات IANA في المكتبة القياسية. يمكننا تحديد المنطقة الزمنية في كائن DateTime من المكتبة القياسية ولكن يمكن أن ينتهي المستخدم بإنشاء قواعد معقدة للمناطق الزمنية. وفقًا لـ PEP 615 ، تميل قاعدة المستخدم أكثر نحو المناطق الزمنية الرئيسية مثل UTC أو IANA أو المنطقة الزمنية المحلية للنظام. يمكنك الآن إنشاء كائن معلومات المنطقة عن طريق تحديد مسار البحث للتكوين والذي يكون على شكل "القارة / المدينة". على سبيل المثال،

من zoneinfo استيراد ZoneInfo

من تاريخ استيراد ووقت وتاريخ

dt = datetime (2020، 11، 15، 01، tzinfo = ZoneInfo ("آسيا / كولكاتا"))

dt.tzname ()

الإخراج: IST

تعرف على المزيد حول: أفضل أدوات Python

وظائف الرياضيات الجديدة

تتكون وحدة الرياضيات من جميع العمليات العددية المستخدمة في الرياضيات العامة. سواء كانت الجيب ، أو وظائف جيب التمام ، أو تقريب الأرقام إلى أماكن محددة ، أو الثوابت العامة مثل pi أو الأسي ، فإن وحدة الرياضيات تغطي جميع أنواع الوظائف تقريبًا.

تمت إضافة ثلاث وظائف جديدة إلى هذه القائمة وهناك math.lcm () و math.nextafter () و math.ulp (). في حين أن LCM (المضاعف المشترك الأصغر) هي وظيفة شائعة الاستخدام ، لا يتم استخدام الوظيفتين الأخريين بنفس القدر. في وقت سابق ، كان علينا إنشاء وظيفة بشكل صريح لعملية LCM ولكن الآن بدأنا هذا الإصدار الجديد ، لدينا وظيفة مضمنة في المكتبة القياسية. لاستخدام هذه الوظيفة ، ما عليك سوى الاتصال بـ:

استيراد الرياضيات

math.lcm (2،3)

الإخراج: 6

إذا لم يتم تمرير أي وسيطات في هذه الوظيفة ، فإنها تُرجع 1 وإذا كانت إحداها صفرًا ، فإنها تُرجع 0.

محلل عالي الأداء

بصرف النظر عن جميع الإضافات الجديدة على مستوى الميزة ، يتم أيضًا تحديث محلل لغة Python إلى تقنية جديدة وأسرع تُعرف باسم محلل PEG. لن ينعكس هذا التأثير في هذا الإصدار ولكن في Python 3.10 القادمة. منذ يوم إنشاء Python ، كانت تستخدم محلل LL (1) الذي يوزع الكود من أعلى إلى أسفل ومن اليسار إلى اليمين. يعتمد هذا المحلل اللغوي على قواعد نحوية خالية من السياق ، وبالتالي فهو غامض بمعنى أن السلاسل يمكن أن تحتوي على أكثر من شجرة تحليل واحدة وزيادة عدد الخطوات الوسيطة. ينشئ المحلل اللغوي PEG الجديد AST واحدًا صالحًا (أشجار بناء مجردة) لإزالة الغموض في المحلل اللغوي السابق.

وظيفة عشوائية جديدة وتغيير في دورة الإصدار

في وحدة random.random ، تمت إضافة أسلوب جديد randbytes (n) والذي يقوم بإرجاع عدد n بايت عشوائي. إنه مشابه جدًا للوظائف العشوائية الأخرى. سابقًا أيضًا ، كانت Python تُصدر إصدارًا جديدًا كل 18 شهرًا والذي تم تخفيضه إلى 12 شهرًا.

احصل على شهادة علوم البيانات من أفضل الجامعات في العالم. تعلم برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

عندما يتم إصدار إصدار جديد من البرنامج ، فإنه يصاحب الكثير من التغييرات الجديدة. لقد ناقشنا هنا بعض التغييرات الرئيسية والمميزة في Python والتي تتضمن عامل تشغيل جديد وميزات مضافة ومحلل محلل محسّن.

هناك الكثير من التغييرات الجديدة في الوحدات النمطية الأخرى أيضًا مثل ast و asyncio و concurrent.futures و مولتروسيسينج و XML. تم إهلاك بعض الوظائف والقائمة تطول. يمكنك التحقق من الوثائق الرسمية للحصول على قائمة كاملة بالتحديثات في Python 3.9 الجديد.

إذا كنت مهتمًا بالتعرف على Python وعلوم البيانات ، فراجع IIIT-B & upGrad's دبلوم PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، وجهاً لوجه مع مرشدين في هذا المجال ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

لماذا تُفضل بايثون على لغات البرمجة الأخرى؟

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

ما فائدة Math.nextafter () و math.ulp () في بايثون؟

nextafter () و ulp () هما وظيفتان جديدتان تمت إضافتهما إلى مكتبة الرياضيات في Python 3.9.0. ترجع الدالة nextafter () القيمة العائمة التالية بعد x في اتجاه y. إذا كانت x تساوي y ، يتم إرجاع القيمة y. تركيبها هو math.nextafter (x ، y) ، حيث x و y هما عددان صحيحان / قيمتان للفاصلة العائمة. ULP هو اختصار يعني الوحدة في المكان الأخير. ULP هي المسافة بين قيم الفاصلة العائمة في التحليل العددي وعلوم الكمبيوتر. ترجع الدالة math.ulp () قيمة البت الأقل دلالة لـ float x. تركيبها عبارة عن ulp (x) رياضي ، ويجب أن تكون الوسيطة المراد إدخالها ، x ، عددًا عشريًا ، ويجب إرجاع ulp الخاصة بها.

ما هو المحلل اللغوي في بايثون؟

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