لطفا امتیاز دهید

نسخه 3.13  برای ارائه در تاریخ 01/10/2024 برنامه ریزی شده است که نسخه پیش نمایش 3.13.0rc1 در تاریخ Aug 2024 1 معرفی شده است. این نسخه همانند سایر نسخه ها،  5 سال  و  تا  سال 2029 پشتیبانی می‌شود.

https://peps.python.org/pep-0719

 

نسخه 3.13، دارای یک کامپایلر جدید JIT و اولین نسخه no-GIL است که دارای لاگ و خطایابی بهتر نسبت به نسخه‌های قبلی است و ماژول‌های قدیمی ‌و غیرقابل استفاده  (باطری‌های مردهdead batteries – ) به طور کامل حذف شده اند. https://www.python.org/downloads/release/python-3130rc1/

تغییرات پایتون ۳.۱۳

تغییرات پایتون ۳.۱۳

 

در این مقاله به تغییرات ایجاد شده در نسخه 3.13 پایتون می‌پردازیم:

 

مفسر تعاملی پیشرفته‌تر (Interactive Interpreter)

در نسخه 3.13، ما شاهد پیشرفت‌هایی در قسمت پیام‌ها و خطا‌ها بر پایه PyPy هستیم. (https://pypy.org/)

قسمت پیام‌ها و ارورهای مفسر پایتون توسعه داده شده است.

مفسر پایتون

مفسر پایتون

 

در مفسر جدید پایتون از رنگ‌ها پشتیبانی می‌شود و تجربه کاربری خوبی برای کاربران فراهم می‌کند.

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

کاربران می‌توانند خاصیت رنگی را با استفاده از متغیرهای محیطی NO_COLOR و یا PYTHON_COLORS تغییر دهند و یا غیرفعال کنند.

همینطور در نسخه جدید، کلمات اگر به اشتباه در یک تابع وارد شده باشند به صورت صحیح پیشنهاد می‌شوند.

در نسخه جدید، اگر نام یک اسکریپت با نام استاندارد یک ماژول کتابخانه شبیه و یکسان باشد، در پیام خطایی که پایتون نمایش می‌دهد تغییر نام و نام پیشنهادی خود را نمایش می‌دهد.

برای اطلاعات بیشتر در این مورد می‌توانید جزئیات بیشتر را در صفحه مستندات ورژن 3.13 مشاهده کنید:
https://docs.python.org/3.13/whatsnew/3.13.html#improved-error-messages

 

اضافه شدن JIT (Just-In-Time)

در نسخه 3.11 مفسر تطابق‌پذیر (Specializing Adaptive Interpreter) معرفی شد (PEP 659) و در نسخه 3.12 کامپایلر JIT به صورت پایه اضافه شده بود (PEP 744). در نسخه 3.13 هم این امکان آزمایشی وجود دارد.

اگرچه در نسخه 3.13 کامپایلر JIT به صورت پیشفرض غیر فعال است، اما در صورت فعال شدن می‌تواند در بهبود کارایی پروژه مفید باشد و در آینده در ورژن‌های جدید پایتون، کامل‌تر خواهد شد.

 

کامپایلر JIT  بایت کدهای Tier 1 را به بایت کدهای Tier 2 داخلی (Tier 2 intermediate representation) یا (IR) تبدیل می‌کند که برای ترجمه به زبان ماشین بهینه شده است.

قبل از ترجمه به زبان ماشین، بهینه سازی‌های دیگری بر روی کد Tier 2 انجام می‌گیرد.

با استفاده از آپشن (–enable-experimental-jit) کاربران می‌توانند خصوصیت JIT  و مفسر Tier 2 را فعال و یا غیر فعال کنند.

 

 

 

شل جدید پایتون (REPL)Read-Eval-Print Loop

در نسخه جدید همانطور که انتظار می‌رفت پیشرفت‌های و تغییرات بزرگی در محیط توسعه پایتون ایجاد شد که تجربه کاربری خوبی برای برنامه‌نویسان پایتون فراهم می‌کند که به چند مورد از آنها اشاره می‌کنیم:

  • خروجی کدها و ارورها رنگی شده‌اند که خوانایی آنها را بهتر می‌کند.
  • Integrated Help (F1) قسمت help داخل محیط توسعه که با کلید f1  فعال می‌شود.

با استفاده از دکمه f1، دسترسی سریع به pydoc  فراهم شده است و دیگر نیازی به جابجایی بین پنجرهای بازشده و ترمینال برای پیدا کردن مستندات و راهنما وجود ندارد.

  • Command History Navigation (F2) با استفاده از کلید f2 دسترسی به تاریخچه دستورات قبلی وارد شده، امکان پذیر است.
  • Block Paste Mode (F3) با استفاده از کلید f3 امکان کپی کردن یک قسمت و یا بلاک از کدها بدون نگرانی از اینترها (line breaks) و یا ایندنت‌ها (indent) وجود دارد.
  • امکان استفاده از دستورات help, exit, quit بدون نیاز به استفاده از پرانتز وجود دارد.

 

 

  • Incremental Garbage Collection

این امکان در نسخه 3.12  اضافه شده بود و به طور قابل توجهی، تعداد حداکثر وقفه را کاهش می‌داد.

این مزیت برای پروژه‌هایی که نیاز به حافظه‌های بالایی دارند می‌تواند مفید باشد.

 

 

حذف کامل ماژول‌های قدیمی‌و از رده خارج (Dead Batteries)

در PEP 594 به لیست این ماژول‌ها اشاره شده است (https://peps.python.org/pep-0594/)

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

وجود این ماژول‌های از رده خارج باعث سردرگمی‌برنامه نویسان به خصوص کاربران تازه وارد می‌شود.

همینطور استفاده از این ماژول‌ها می‌تواند باعث پایین آمدن ضریب امنیتی پروژه و یا اپلیکیشن شود.

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

لیست عناوین ماژول‌های حذف شده در نسخه 3.13 به شرح زیر می‌باشد:

(aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, msilib, nntplib, nis, ossaudiodev, pipes, smtpd, sndhdr, spwd, sunau, telnetlib, uu, xdrlib)

 

پشتیبانی از IOS

در این نسخه از پلت فرم IOS  شامل آیفون و آی پدهای بعد از سال 2013 که دارای ساختار arm64-apple-ios پشتیبانی می‌شود.

حداقل ورژن قابل پشتیبانی سیستم عامل  macos  از 10.9 به 10.13 رسیده است.

اطلاعات بیشتر در این زمینه از لینک زیر قابل مشاهده است

PEP 730 – Adding iOS as a supported platform

https://peps.python.org/pep-0730/

 

بهبود کارایی ماژول ها

در نسخه 3.12 برخی از ماژول ها و فانکشن ها بهبودهایی داشتند. در  نسخه 3.13 این بهبود ها بیشتر  شده است.

به عنوان نمونه فانکشن textwrap.indent() بهبود پیدا کرده است و برای  ورودی های بزرگ  (larg input)  به مقدار 30 درصد  در هنگام کار با متن ها سریع تر شده است .

برخی کتابخانه های پایتون هم توسعه پیدا کردند که ایمپورت کردن زمان (time)   را آسان تر کرده  است و وابستگی به ماژول های دیگر مانند re (https://docs.python.org/3/library/re.html)    و  contextlib(https://docs.python.org/3/library/contextlib.html)
را کاهش داده اند.

بهینه سازی حافظه برای Docstrings

در نسخه 3.13 تغییر کوچکی در فاصله های ابتدایی ایندنت ها ایجاد شده است که منجر به بهینه سازی کدهای پایتون  (.pyc) می شود.

 

 

غیر فعال کردن آزمایشی Global Interpreter Lock (GIL)

GIL  مکانیسمی‌در CPython است که این اطمینان را ایجاد می‌کند که در یک زمان، فقط یک رشته (thread) بایت کد پایتون را اجرا می‌شود.

حذف GIL در Python

حذف GIL در Python

 

در شیوه نگارش یا پروپوزال PEP 703 پیشنهاد اختیاری شدن GIL  در CPython  مطرح شد.

(“Making the Global Interpreter Lock Optional in CPython. “)

این امکان، تک رشته ای بودن (single-threaded) کدهای اجرای پایتون و پروژه را تضمین می‌کند اما در سی پی یو‌های چند هسته ای با عث می‌شود که هر هسته بتواند یک رشته را به صورت موثر اجرا کند.

در نسخه 3.13، امکان غیرفعال کردن GIL  برای اجرای CPython پشتیبانی می‌شود. برای غیرفعال کردن باید از آپشن –disable-gil استفاده کرد.

با استفاده از این امکان، سرعت و کارایی اجرای پروژه از طریق استفاده از هسته‌های یک سی پی یو چند هسته ای به صورت موازی افزایش پیدا می‌کند.

در اکستنشن‌های به زبان c، غیرفعال کردن GIL می‌تواند باعث افزایش سرعت کارایی پروژه شود.

شیوه جدید پردازش درخواستها در Python 3.13

شیوه جدید پردازش درخواستها در Python 3.13

 

برای سی پی یو‌های چند هسته ای، غیر فعال کردن GIL  باعث افزایش قابل توجهی در کارایی و پرفورمنس می‌شود که در پروژه‌های محاسبات علمی‌(scientific computing)، تجزیه تحلیل داده (data analysis) و سایر پروژه‌هایی که دارای لود محاسبانی بالایی هستند بسیار مفید است.

همینطور در لینک زیر تمام لاگ های تغییرات در ورژن 3.13 قابل مشاهده است  :

https://docs.python.org/3.13/whatsnew/changelog.html#changelog

 

با خرید هاست های پایتون از پارس وب سرور می توانید پروژه های پایتون را راه اندازی کنید و به جدیدترین نسخه‌های پایتون برای راه اندازی پروژه‌های خود استفاده نمایید.

 

 

 

 

مطالب مرتبط

پکیج inertia js ، پکیجی برای استفاده یکپارچه از قابلیت های SPA با استفاده از Back End طراحی شده توسط شماست ، ولی این یعنی چی ؟ شاید فکر کنید که Back End چگونه میتواند با Front End در ارتباط

نسخه 3.13  برای ارائه در تاریخ 01/10/2024 برنامه ریزی شده است که نسخه پیش نمایش 3.13.0rc1 در تاریخ Aug 2024 1 معرفی شده است. این نسخه همانند سایر نسخه ها،  5 سال  و  تا  سال […]

افزایش امنیت وردپرس | جلوگیری از هک شدن وردپرس و چند تکنیک قوی برای جلوگیری از author scan در وردپرس و جلوگیری از نفوذ هکرها به سایت شما

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سوالی دارید هم اکنون با ما تماس بگیرید ... تلفن : 02191018036