پایتون 3.9.0

نسخه پایدار جدید زبان برنامه نویسی محبوب پایتون منتشر شد.

پایتون یک زبان برنامه نویسی سطح بالا و همه منظوره است که هدف آن بهبود بهره وری توسعه دهندگان و خوانایی کد است. ویژگی های اصلی عبارتند از تایپ پویا، مدیریت خودکار حافظه، درون نگری کامل، مکانیسم رسیدگی به استثنا، پشتیبانی از محاسبات چند رشته ای، ساختارهای داده سطح بالا.

پایتون یک زبان پایدار و گسترده است. در بسیاری از پروژه ها و در ظرفیت های مختلف استفاده می شود: به عنوان یک زبان برنامه نویسی اولیه یا برای ایجاد برنامه های افزودنی و ادغام برنامه ها. زمینه های اصلی کاربرد: توسعه وب، یادگیری ماشین و تجزیه و تحلیل داده ها، اتوماسیون و مدیریت سیستم. پایتون در حال حاضر رتبه سوم را در این رتبه بندی دارد TIOBE.

تغییرات اصلی:

تجزیه کننده جدید با کارایی بالا بر اساس گرامرهای PEG.

در نسخه جدید، تجزیه کننده فعلی پایتون مبتنی بر گرامرهای LL(1) (KS-grammar) با یک تجزیه کننده جدید با کارایی بالا و پایدار مبتنی بر PEG (PB-grammar) جایگزین شده است. تجزیه‌کننده‌های زبان‌هایی که توسط گرامرهای KS نشان داده می‌شوند، مانند تجزیه‌کننده‌های LR، نیاز به یک مرحله تحلیل واژگانی خاص دارند که ورودی را بر اساس فضای خالی، نقطه‌گذاری و غیره تجزیه می‌کند. این ضروری است زیرا این تجزیه کننده ها از آماده سازی برای پردازش برخی گرامرهای KS در زمان خطی استفاده می کنند. گرامرهای RV نیازی به مرحله تحلیل واژگانی جداگانه ندارند و قوانین مربوط به آن را می توان همراه با سایر قواعد گرامری وضع کرد.

اپراتورها و توابع جدید

دو عملگر جدید به کلاس dict داخلی اضافه شده است، | برای ادغام دیکشنری ها و |= برای به روز رسانی.

دو تابع جدید به کلاس str اضافه شده است: str.removeprefix (پیشوند) و str.removesuffix (پسوند).

تایپ اشاره برای انواع مجموعه داخلی

این نسخه شامل پشتیبانی از نحو ژنراتور در تمام مجموعه‌های استاندارد موجود است.

def read_blog_tags(برچسب ها: list[str]) -> هیچ:
برای برچسب ها در برچسب ها:
چاپ ("نام برچسب"، برچسب)

تغییرات دیگر

  • PEP 573 دسترسی به وضعیت ماژول با استفاده از روش های گسترش C

  • PEP 593 توابع انعطاف پذیر و حاشیه نویسی متغیر

  • PEP 602 Python به نسخه های پایدار سالانه منتقل می شود

  • PEP 614 محدودیت های گرامر آرامش بخش در تزئینات

  • پشتیبانی از پایگاه داده منطقه زمانی PEP 615 IANA در کتابخانه استاندارد

  • BPO 38379 جمع آوری زباله روی اشیاء بازیابی شده مسدود نمی شود

  • BPO 38692 os.pidfd_open، برای کنترل فرآیندهای بدون مسابقه و سیگنال.

  • پشتیبانی از یونیکد BPO 39926 به نسخه 13.0.0 به روز شد

  • BPO 1635741، وقتی پایتون را چندین بار در یک فرآیند مقداردهی اولیه می‌کنید، پایتون دیگر لو نمی‌دهد.

  • مجموعه‌های پایتون (محدوده، تاپل، مجموعه، منجمد، فهرست، دیکت) با فراخوانی برداری PEP 590 شتاب گرفت

  • برخی از ماژول های پایتون (_abc، audioop، _bz2، _codecs، _contextvars، _crypt، _functools، _json، _locale، عملگر، منبع، زمان، _weakref) اکنون از مقداردهی اولیه چند فازی همانطور که در PEP 489 تعریف شده است استفاده می کنند.

  • تعدادی از ماژول های استاندارد کتابخانه (audioop، ast، grp، _hashlib، pwd، _posixsubprocess، random، select، struct، termios، zlib) اکنون از ABI پایدار تعریف شده توسط PEP 384 استفاده می کنند.

منبع: linux.org.ru

اضافه کردن نظر