این نسخه تمرکز ویژهای روی تحلیل عملکرد، بهبود پیامهای خطا، افزایش سرعت JIT و پاکسازی API های قدیمی دارد. در ادامه این مطلب در وبلاگ مؤسسه آموزشی کادوس رشت، مهمترین نکات و تغییرات پایتون 3.15 را مرور میکنیم.
Tachyon: پروفایلر فوقسریع جدید
در Python 3.15 یک sampling profiler جدید با نام Tachyon و مسیر profiling.sampling اضافه شده است. این ابزار بدون نیاز به تغییر کد یا ریاستارت برنامه، به پردازشهای در حال اجرا متصل میشود و با سربار تقریبا صفر، عملکرد برنامه را تحلیل میکند.
ویژگیهای کلیدی:
اتصال به process در حال اجرا فقط با PID
نرخ نمونهبرداری بسیار بالا (تا 1,000,000 هرتز)
مناسب محیطهای production
پشتیبانی از حالتهای مختلف اندازهگیری:
--mode wall(زمان واقعی)--mode cpu--mode gil--mode exception
خروجیهای متنوع مثل:
--pstats--collapsed(مناسب flamegraph)--flamegraph(HTML تعاملی)--heatmap(نمایش مصرف زمان در سطح خط کد)
پشتیبانی از async/await و opcode-level profiling
پیامهای خطای هوشمندتر
پیامهای AttributeError حالا پیشنهاد دقیقتری ارائه میدهند. اگر صفت موردنظر داخل یک عضو دیگر وجود داشته باشد، Python آن را پیشنهاد میکند:
AttributeError: 'Container' object has no attribute 'area'. Did you mean: 'inner.area'?
همین منطق برای delattr() هم اضافه شده و خطاها خواناتر شدهاند.
UTF-8 به عنوان encoding پیشفرض
Python 3.15 به صورت پیشفرض از UTF-8 استفاده میکند، حتی اگر تنظیمات سیستم چیز دیگری باشد.
مثلا:
open("file.txt")اگر encoding مشخص نشود، UTF-8 در نظر گرفته میشود.
نکته مهم: برای سازگاری بین نسخهها، همچنان توصیه میشود encoding را صراحتا مشخص کنید.
بهینهسازی جدید برای bytearray
متد جدید زیر اضافه شده است:
bytearray.take_bytes()
این متد امکان تبدیل bytearray به bytes را بدون کپی اضافی فراهم میکند و برای کارهایی مثل:
پردازش پروتکلهای شبکه
buffering
encoding/decoding
compression
بسیار بهینهتر است.
بهبود قابل توجه JIT
JIT در Python 3.15 پیشرفت بزرگی داشته است:
استفاده از LLVM 21
frontend جدید برای tracing واقعی مسیر اجرا
register allocation پایه
بهینهسازی بهتر reference counting
تولید machine code کارآمدتر
در نتیجه: به طور میانگین ۳ تا ۴ درصد بهبود کلی عملکرد و در برخی سناریوها، افزایش سرعت بسیار بیشتر.
ماژولها و قابلیتهای جدید
ماژول جدید
math.integerبرای عملیات ریاضی روی اعداد صحیحبهروزرسانی Unicode به نسخه 17.0.0
اضافه شدن توابع جدید در
math،ssl،sqlite3،os،argparseو سایر ماژولهابهبود جدی CLI ابزارهایی مثل
sqlite3وtimeit(رنگی شدن خروجیها)
حذفها و Deprecation ها
در این نسخه، تعداد زیادی API قدیمی حذف یا منسوخ شدهاند، از جمله:
حذف کامل ماژولهای
sre_*حذف API های قدیمی در
ctypes،glob،http.serverنزدیک شدن به حذف کامل
typing.ByteStringمنسوخ شدن بسیاری از attribute های
__version__در کتابخانه استاندارد
اگر پروژه قدیمی دارید، بررسی DeprecationWarning ها در این نسخه بسیار مهم است.
جمعبندی
Python 3.15 یک نسخه تکنیکی، سریع و آیندهنگر است:
پروفایلینگ حرفهای بدون سربار
پیامهای خطای قابل فهمتر
JIT بالغتر
پاکسازی گسترده API های قدیمی
اگر روی performance ،production debugging یا پروژههای بلند مدت کار میکنید، Python 3.15 یک ارتقا جدی محسوب میشود.
یادگیری پایتون در مؤسسه کادوس در رشت
اگر شما هم ساکن رشت و یا یکی از شهرهای اطراف هستید و دوست دارید که مثل یک حرفهای پایتون را یاد بگیرید کافیست که با تماس با مؤسسه کادوس در دوره برنامهنویسی پایتون مقدماتی و یا پیشرفته شرکت کنید.
تلفن دفتر مرکزی کادوس: ۰۱۳۳۳۲۳۲۳۲۳


