Ketika seseorang berkata “saya pakai Python 3.12”, ada informasi penting tersembunyi di balik tiga angka tersebut: fitur apa yang tersedia, sampai kapan versi itu didukung, dan apakah kode kita akan berjalan di tempat lain. Kesalahpahaman soal versi adalah sumber kebingungan klasik — mulai dari tutorial lama berbasis Python 2 sampai kode yang gagal jalan hanya karena sintaksnya lebih baru daripada interpreter pembacanya. Pada Chapter ini kita urai sistem versi Python.
Anatomi Nomor Versi #
Nomor versi Python mengikuti pola major.minor.micro. Contohnya 3.12.15:
| Komponen | Nilai contoh | Perannya |
|---|---|---|
major | 3 | Generasi bahasa; Python 3 tidak kompatibel dengan Python 2 |
minor | 12 | Rilis fitur tahunan: sintaks dan library baru hadir di sini |
micro | 15 | Rilis perbaikan bug dan keamanan; tidak ada fitur baru |
Ketika orang menyebut “Python 3.12”, yang dimaksud adalah seluruh rilis 3.12.x. Semua angka micro di dalamnya menjaga kompatibilitas penuh satu sama lain.
Peta Versi Python Saat Ini #
Python kini merilis versi fitur baru setiap tahun sekitar bulan Oktober. Setelah dirilis, sebuah versi menjalani dua fase: perbaikan bug selama kurang lebih dua tahun, lalu hanya perbaikan keamanan hingga total lima tahun sejak rilis. Berikut keadaannya per Oktober 2026:
| Versi | Status | Catatan |
|---|---|---|
| 3.15 | Rilis stabil terbaru | Versi fitur paling baru |
| 3.14 | Fase maintenance | Menerima perbaikan bug dan keamanan |
| 3.13 | Fase maintenance | Menerima perbaikan bug dan keamanan |
| 3.12 | Hanya perbaikan keamanan | Didukung sampai Oktober 2028 |
| 2.7 | Sudah mati (EOL sejak 2020) | Tidak lagi menerima perbaikan apa pun |
Python 2.7 memang dihentikan resminya pada 1 Januari 2020 setelah masa transisi yang panjang. Perpindahan Python 2 ke Python 3 mengubah banyak hal mendasar — print menjadi function misalnya — sehingga kode keduanya tidak saling kompatibel. Hari ini seluruh ekosistem berada di Python 3; tutorial yang masih memakai print "halo" tanpa kurung adalah penanda bahwa tutorial tersebut sudah usang.
Dua tempat resmi untuk memeriksa peta versi terkini:
- python.org — halaman unduhan selalu menampilkan versi stabil terbaru.
- devguide.python.org/versions — tabel status pengembangan setiap versi, termasuk tanggal akhir dukungan.
Baseline Course Ini #
Seluruh kode pada course ini diuji dengan Python 3.12.15, angka micro terakhir dari rilis 3.12. Kita memilih 3.12 sebagai baseline karena statusnya sudah matang: fitur-fiturnya stabil lebih dulu daripada versi terbaru, dan masa dukungan keamanannya masih panjang.
Kebijakan course ini terhadap fitur versi baru sederhana:
- Materi inti memakai fitur yang sudah tersedia sejak lama, aman untuk semua Python 3 modern.
- Ketika sebuah contoh memakai fitur baru, versi pengenalnya dicantumkan eksplisit — misalnya structural pattern matching (
match-case) hadir di Python 3.10, dan moduletomllibhadir di Python 3.11.
Mengecek Versi dari Dalam Kode #
Program kadang perlu memastikan sendiri versi interpreternya — misalnya script yang membutuhkan fitur tertentu. Attribute sys.version_info menyediakan informasi tersebut dalam bentuk yang mudah dibandingkan:
import sys
if sys.version_info < (3, 12):
print("Versi Python minimal 3.12 diperlukan")
sys.exit(1)
print("Versi Python memenuhi syarat:", sys.version.split()[0])Output yang Dihasilkan:
Versi Python memenuhi syarat: 3.12.15Mari kita bedah contoh di atas:
- Baris 3 (
if sys.version_info < (3, 12):):sys.version_infodibandingkan dengan tuple(3, 12)— Python membandingkan komponen majornya dahulu, lalu minornya. Perbandingan ini berlaku untuk seluruh rilis3.12.x. - Baris 4-5 (
print(...),sys.exit(1)): jika versi terlalu lama, program mencetak pesan lalu berhenti dengan exit code1sebagai penanda kegagalan. - Baris 7 (
sys.version.split()[0]): stringsys.versionberisi detail lengkap interpreter;.split()[0]mengambil potongan pertamanya, yaitu3.12.15.
Kompatibilitas Antar Versi dalam Praktik #
Tiga kebiasaan berikut menjaga kode kita tetap aman antar versi:
- Tulis kode sesuai baseline termuda yang ingin didukung. Jika project harus jalan di 3.10, jangan pakai sintaks yang baru hadir di 3.12.
- Hindari fitur yang sudah ditandai deprecated. Peringatan
DeprecationWarningadalah pengumuman resmi bahwa sebuah fitur akan dihapus pada versi mendatang. - Kunci versi pada project nyata. File konfigurasi project (topik section Packaging dan Deployment) mencantumkan versi Python yang didukung sehingga rekan kerja dan server memakai versi yang sama.
Dengan aturan main versi yang jelas, kita bisa beranjak ke pertanyaan berikutnya: program apa sebenarnya yang bernama python3 itu, dan bagaimana interpreter tersebut menyediakan lingkungan berjalan bagi kode kita — materi Chapter Memahami Interpreter dan Runtime.