Python 3.7

ميزات جديدة:

الميزة

الحالة

PEP 538

إجبار إعدادات اللغة (locale) القديمة من نوع C إلى إعدادات لغة معتمدة على UTF-8

PEP 539

واجهة C برمجية جديدة للتخزين المحلي للخيط في CPython

PEP 540

وضع UTF-8

PEP 552

ملفات pyc حتمية

PEP 553

الدالة المدمجة breakpoint()

PEP 557

أصناف البيانات (Data Classes)

PEP 560

دعم أساسي لوحدة typing والأنواع العامة

PEP 562

الدالتان __getattr__ و__dir__ على مستوى الوحدة

جزئي

PEP 563

التقييم المؤجَّل للتوصيفات

PEP 564

دوال الوقت بدقة النانوثانية

جزئي [1]

PEP 565

إظهار DeprecationWarning في __main__

PEP 567

متغيرات السياق

تغييرات أخرى في اللغة:

أصبحت async وawait الآن كلمتين محجوزتين

مكتمل

يجب على كائنات dict الحفاظ على ترتيب الإدراج

يمكن الآن تمرير أكثر من 255 وسيطًا إلى دالة؛ ويمكن للدالة الآن أن تحتوي على أكثر من 255 معاملًا

تتجاهل الآن bytes.fromhex() وbytearray.fromhex() جميع مسافات ASCII البيضاء، وليس المسافات فقط

اكتسبت str وbytes وbytearray دعمًا للطريقة الجديدة isascii()، التي يمكن استخدامها لاختبار ما إذا كانت السلسلة أو البايتات تحتوي على محارف ASCII فقط

تعرض الآن ImportError اسم الوحدة ومسار __file__ الخاص بها عند فشل from ... import ...

أصبحت الاستيرادات الدائرية التي تتضمن استيرادات مطلقة مع ربط وحدة فرعية باسم مدعومة الآن

أصبحت object.__format__(x, '') الآن تكافئ str(x) بدلًا من format(str(self), '')

لدعم الإنشاء الديناميكي لتتبعات المكدس بشكل أفضل، يمكن الآن إنشاء نسخ من types.TracebackType من كود Python، وأصبحت السمة tb_next على التتبعات قابلة للكتابة الآن

عند استخدام المفتاح -m، تتوسع الآن sys.path[0] بشكل فوري إلى مسار دليل البدء الكامل، بدلًا من تركها كدليل فارغ (مما يتيح الاستيرادات من دليل العمل الحالي عند حدوث استيراد)

يمكن استخدام الخيار الجديد -X importtime أو متغير البيئة PYTHONPROFILEIMPORTTIME لإظهار توقيت استيراد كل وحدة

تغييرات على الوحدات المدمجة:

asyncio

أكثر من أن تُحصى

gc

تشمل الميزات الجديدة gc.freeze() وgc.unfreeze() وgc-get_freeze_count

math

أُضيفت math.remainder() لتنفيذ الباقي على نمط IEEE 754

re

عدد من ميزات التنظيم تشمل دعمًا أفضل للتقسيم على السلاسل الفارغة ودعم النسخ للتعبيرات المُصرَّفة وكائنات المطابقة

sys

أُضيفت sys.breakpointhook(). أُضيفت sys.get(/set)_coroutine_origin_tracking_depth()

time

معظمها تحديثات لدعم دقة النانوثانية في PEP564، انظر أعلاه

ملاحظات