TGViewer
Silicon Brain | جامعه هوش مصنوعی Silicon Brain | جامعه هوش مصنوعی @silicon_brain · 7.73K subscribers
Post #2199 532
پایتون 3.15 با تغییرات مهم!

نسخه Python 3.15.0 در ۹ اکتبر ۲۰۲۶ منتشر شده و چند قابلیت مهم در زمینه‌ی import، ساختار داده‌ها، Performance و ابزارهای Debugging اضافه کرده. این‌ها مهم‌ترین تغییرات فنی این نسخه‌اند.
بارگذاری ماژول در زمان نیاز - Lazy Imports

قبلاً با import، ماژول بلافاصله بارگذاری می‌شد اما حالا می‌تونیم با کلمه‌ی lazy بارگذاری رو تا زمان استفاده از ماژول به تأخیر بندازیم. این قابلیت می‌تونه Startup Time اپلیکیشن‌های بزرگ رو کاهش بده.
lazy import json

print("Application started")

data = json.loads('{"name": "Python"}')

در این مثال، json هنگام استفاده از json.loads() بارگذاری می‌شه، نه در لحظه‌ی اجرای دستور import.
دیکشنری غیرقابل‌تغییر - frozendict

نوع داده‌ی جدید frozendict یک Mapping غیرقابل‌تغییره یعنی بعد از ساخت، نمی‌تونیم کلید یا مقدارش رو تغییر بدیم. اگر تمام کلیدها و مقادیر Hashable باشن، خود این ساختار هم قابل Hash شدن خواهد بود.
data = frozendict({"name": "Python", "version": 3.15})

# data["version"] = 3.16 # TypeError

این قابلیت برای نگهداری Configurationها و داده‌هایی که نباید تصادفی تغییر کنن، مفیده.

متد Unpacking در Comprehension

حالا می‌تونیم از * و ** برای باز کردن Iterableها و دیکشنری‌ها مستقیماً داخل Comprehension استفاده کنیم.
lists = [[1, 2], [3, 4], [5]]

flat = [*items for items in lists]
# [1, 2, 3, 4, 5]

این Syntax جایگزین مختصر‌تری برای بعضی Nested Comprehensionها و استفاده از itertools.chain() محسوب می‌شه.
فرمت UTF-8 به‌عنوان Encoding پیش‌فرض

از این نسخه، Encoding پیش‌فرض عملیات متنی مستقل از تنظیمات سیستم، UTF-8 خواهد بود در نتیجه احتمال بروز مشکلات Encoding بین سیستم‌عامل‌های مختلف کمتر می‌شه.
with open("data.txt", encoding="utf-8") as file:
text = file.read()

نوشتن صریح encoding="utf-8" همچنان برای سازگاری و خوانایی کد توصیه می‌شه.
بهبود JIT Compiler و Performance

کامپایلر آزمایشی JIT در Python 3.15 پیشرفت قابل‌توجهی داشته. طبق Benchmarkهای رسمی، بهبود میانگین هندسی Performance آن نسبت به Interpreter استاندارد، روی Linux با معماری x86-64 حدود ۷ تا ۸ درصد گزارش شده.
نکته‌ی مهم: این عدد به نسخه‌ی JIT و Benchmarkها مربوطه به معنی سریع‌تر شدن ۸ درصدی تمام برنامه‌های پایتون نیست. JIT هم همچنان قابلیتی آزمایشی و وابسته به نحوه‌ی Build کردن Python محسوب می‌شه.
ابزار جدید Profiling با نام Tachyon

ماژول جدید profiling.sampling ابزار Tachyon رو برای تحلیل Performance معرفی کرده ابزاری که با Sampling از Stack Traceها کمک می‌کنه بفهمیم زمان اجرای برنامه صرف کدوم بخش‌ها می‌شه، بدون اینکه لازم باشه کد رو تغییر بدیم.
این قابلیت برای بررسی Bottleneckها در سرویس‌های در حال اجرا و Production کاربردیه.
بهبود Error Messageها

پایتون حالا در بعضی خطاهای AttributeError پیشنهادهای دقیق‌تری ارائه می‌ده؛ مثلاً اگر به‌جای append() از متد اشتباه push() استفاده کنیم، پیغام خطا می‌تونه متد درست یعنی append رو پیشنهاد بده. این تغییر کوچک، Debugging رو ساده‌تر می‌کنه.

نکته مهم:

برای پروژه‌های واقعی، قبل از مهاجرت به 3.15 باید سازگاری Dependencyها و کتابخانه‌های Third-party رو بررسی کرد به‌خصوص پروژه‌هایی که به C Extensions یا ابزارهای ML وابسته‌ هستن.
@silicon_brain | از هوش مصنوعی عقب نمانید
  • ❤ 11
  • 👍 2
  • 🙏 1
More from @silicon_brain
  1. Oct 11, 2026تو جهان آینده اعتبار مهم‌ترین فاکتور موفقیت هر انسان یا کسب‌و‌کار خواهد بود. با پدیدار شدن…
  2. Oct 11, 2026💻🚀آموزش آنلاین صفر تا صد طراحی سایت! در دوره جامع فرانت اند خواهید آموخت: HTML | CSS | B…
  3. Oct 10, 2026مستندات فارسی پروژه Routapse اضافه شد و میتونین بخونید: مستندات فارسی پروژه | گیتهاب | پست…
  4. Oct 10, 2026به‌صورت کلی، ۳ جا بهتره از AI استفاده نکنید وقتی هنوز مسئله رو درست نفهمیدید چون ممکنه AI…
  5. Oct 6, 2026به متن‌های ChatGPT یک Watermark اضافه شده! شرکت OpenAI قابلیتی به اسم textGrain معرفی کرده…
  6. Oct 5, 2026به نظرتون تو این شرایط اگه یه مشکلی فنی، حقوقی یا هر مشکل دیگه پیش بیاد، مسئول بررسی و رفع…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →