Python 3.15 rilis dengan banyak perbaikan di balik layar yang jarang masuk headline. Artikel ini fokus ke fitur-fitur tersembunyi yang langsung berdampak ke production code, performance, dan developer experience.
Sumber utama: Python 3.15: features that did not make the headlines oleh Changs Dev Blog.
Python 3.15 akhirnya implementasi deferred annotation evaluation. Sebelumnya, annotations dievaluate saat definisi class/function, sering menyebabkan circular import headache:
# Python 3.14 dan sebelumnya
def process(items: list[Item]) -> Result: # NameError jika Item belum didefinisikan
pass
# Python 3.15 - annotations deferred secara default
from __future__ import annotations # Tidak lagi wajib!
def process(items: list[Item]) -> Result:
pass # Annotation disimpan sebagai string, dievaluate saat runtime inspectIni menghilangkan kebutuhan string literal atau from __future__ import annotations di sebagian besar codebase modern.
Scope resolution untuk annotations sekarang lebih predictable. Variabel lokal tidak lagi bocor ke annotation scope:
def outer():
local_type = int
def inner(x: local_type) -> local_type: # local_type tidak lagi visible
return xPerubahan ini mencegah bug subtle yang sulit ditrace di codebase besar.
Python 3.15 memasukkan groundwork untuk experimental JIT compiler yang akan fully aktif di Python 3.16. Optimasi yang bisa kamu rasakan sekarang:
# Compile Python dengan JIT enabled (experimental)
./configure --enable-experimental-jit
make -j$(nproc)Benchmark internal menunjukkan improvement 5-15% untuk CPU-bound tasks tanpa perubahan code.
Perubahan di internal allocator mengurangi memory fragmentation untuk long-running processes:
Traceback rendering sekarang lebih informatif untuk exception chain:
try:
raise ValueError("original")
except ValueError:
raise RuntimeError("wrapped") from None # Traceback lebih clean di 3.15Output traceback menghilangkan noise yang tidak perlu, sangat membantu saat debugging di production logging.
Sebelum upgrade production environment, pastikan:
Python 3.15 adalah release evolutionary, tapi setiap improvement di atas mengumpulkan menjadi upgrade yang worth it untuk production systems.
Sumber lengkap: Changs Dev Blog - Python 3.15 Hidden Features.
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu