با ویژگی های هیجان انگیز پایتون 3.12 آشنا شوید که زندگی برنامه نویس شما را آسان تر می کند.
پایتون قصد دارد نسخه 3.12 این زبان را در اکتبر 2023 منتشر کند. این نسخه مجموعه ای از ویژگی ها و پیشرفت های هیجان انگیز را به ارمغان می آورد. هدف آن بهبود تجربه کدنویسی شما با ارائه یک پلت فرم کارآمدتر و قدرتمندتر است که به شما امکان می دهد مهارت های کدنویسی خود را افزایش دهید.
1. پیام های خطای پیشرفته
پایتون به طور مداوم پیام های خطای خود را در نسخه های اخیر بهبود بخشیده است. نسخه 3.11 با نشان دادن موقعیت های دقیق در خطوط، پیام های خطای دقیق تری را معرفی کرد.
Python 3.12 این پیشرفتها را با اضافات زیر به سطح بعدی میبرد:
- پیشنهادات برای ماژول های از دست رفته (“آیا X را فراموش کردید وارد کنید؟”) اکنون ماژول های کتابخانه استاندارد را در بر می گیرد.
- پیشنهادات خطای بهبود یافته برای خطاهای نحوی رایج مربوط به واردات. به عنوان مثال، اگر در کد خود وارد کردن p از m داشته باشید، خطایی از شما می پرسد که آیا قصد دارید از m import p بنویسید.
- خطاهای وارد کردن برای یک ماژول معین اکنون شامل پیشنهادهایی از فضای نام ماژول وارد شده است.
- پیشنهادات NameError اکنون همچنین زمانی که در یک نمونه کلاس مطرح می شود، خود به نام اضافه می شود. به عنوان مثال، اگر نام سرعت تعریف نشده باشد، پیام خطا self.speed را به عنوان یک اصلاح بالقوه پیشنهاد می کند. این به ویژه مفید است زیرا حذف متغیرهای خود برای مثال منبع رایج خطاها در نمونه های کلاس است.
2. پشتیبانی از Linux Perf Profiler
ابزار پرکاربرد پروفایلر لینوکس، perf، اکنون می تواند با برنامه های Python 3.12 کار کند. در گذشته، فقط بر روی ردیابی عملیات سطح C در زمان اجرا پایتون تمرکز داشت.
با Python 3.12، اکنون می توانید perf را فعال کنید تا جزئیات برنامه های Python را نیز جمع آوری کنید. می توانید آن را در سطح محیط یا در یک برنامه پایتون با استفاده از تابع sys.activate_stack_trampoline فعال کنید.
3. Hinting Improvements را تایپ کنید
از زمان معرفی آن در Python 3.5، نحو تایپ-hinting پایتون ابزارهای linting را فعال کرده است تا مجموعه وسیعی از خطاها را از قبل شناسایی کنند. با هر نسخه بعدی، سیستم نوع پایتون به گونه ای تکامل یافته است که طیف وسیع تری از موارد استفاده را در بر می گیرد و ویژگی های تایپ پیشرفته ای را ارائه می دهد.
TypedDict
Python 3.12 استفاده از TypedDicts را به عنوان منبعی برای اشاره به آرگومان های کلیدواژه در توابع معرفی می کند. این از Unpack variadic generic که نسخه 3.11 معرفی شده است استفاده می کند.
در اینجا یک مثال برای نشان دادن این ویژگی آورده شده است:
class Movie(TypedDict):
name: str
year: int
def foo(**kwargs: Unpack[Movie]) -> None: ...
در این حالت، تابع foo میتواند آرگومانهای کلمه کلیدی را با نامها و انواعی که با محتوای Movie TypedDict همسو میشوند دریافت کند: نام نوع str و سال نوع int.
این پیشرفت زمانی ارزشمند می شود که توابع تایپ اشاره کنند که آرگومان های اختیاری فقط کلمه کلیدی را بدون مقادیر پیش فرض می پذیرند.
Parameter Syntax را تایپ کنید
Python 3.12 نحو مختصرتری را برای تعیین انواع در کلاسهای عمومی، توابع یا نام مستعار نوع معرفی میکند.
موارد زیر را در نظر بگیرید:
# the old method
from typing import TypeVar
_T = TypeVar("_T")
def func(a: _T, b: _T) -> _T:
...
# the new type parameter method
def func[T](a: T, b: T) -> T:
...
با سینتکس جدید، نیازی به وارد کردن صریح TypeVar نیست. در عوض، میتوانید از دستور func[T] برای نشان دادن ارجاعات نوع عمومی استفاده کنید. همچنین می توان کران های نوع را تعریف کرد، مانند تعیین اینکه یک نوع باید یکی از گروهی از انواع باشد. با این حال، این انواع خود نمی توانند عمومی باشند. نمونه ای از این نحو، func[T: (str, int)] است.
4. جمع آوری زباله
در پایتون 3.12، مکانیسم جمع آوری زباله (GC) تغییر کرده است. قبلاً هر زمان که یک شی تخصیص داده می شد، GC اجرا می شد.
با این حال، با شروع از Python 3.12، GC منحصراً در مکانیزم eval breaker در حلقه بایت کد پایتون عمل میکند. به عبارت دیگر، بین اجرای یک بایت و کد بعدی اجرا می شود.
علاوه بر این، GC همچنین هنگامی که مکانیسم کنترل سیگنال CPython فراخوانی می شود، فعال می شود. این تنظیم جمع آوری زباله های دوره ای را در طول تماس های طولانی مدت با برنامه های افزودنی C در خارج از زمان اجرا فعال می کند.
رونمایی از پایتون 3.12
پایتون 3.12 طیف وسیعی از ویژگی ها و پیشرفت های هیجان انگیز را معرفی می کند و تجربه کدنویسی را برای شما متحول می کند. Python 3.12 با پیامهای خطای پیشرفته، قابلیتهای تایپ بهبودیافته، پشتیبانی از Linux Perf Profiler و جمعآوری زباله بهینه شده، شما را به ابزارهایی مجهز میکند تا کدهای با کیفیت بالا را به طور کارآمد بنویسید. قدرت پایتون را در آغوش بگیرید و مهارت های کدنویسی خود را به ارتفاعات جدیدی ارتقا دهید.