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:

KomponenNilai contohPerannya
major3Generasi bahasa; Python 3 tidak kompatibel dengan Python 2
minor12Rilis fitur tahunan: sintaks dan library baru hadir di sini
micro15Rilis 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:

VersiStatusCatatan
3.15Rilis stabil terbaruVersi fitur paling baru
3.14Fase maintenanceMenerima perbaikan bug dan keamanan
3.13Fase maintenanceMenerima perbaikan bug dan keamanan
3.12Hanya perbaikan keamananDidukung sampai Oktober 2028
2.7Sudah 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 module tomllib hadir 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:

python
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:

text
Versi Python memenuhi syarat: 3.12.15

Mari kita bedah contoh di atas:

  1. Baris 3 (if sys.version_info < (3, 12):): sys.version_info dibandingkan dengan tuple (3, 12) — Python membandingkan komponen majornya dahulu, lalu minornya. Perbandingan ini berlaku untuk seluruh rilis 3.12.x.
  2. Baris 4-5 (print(...), sys.exit(1)): jika versi terlalu lama, program mencetak pesan lalu berhenti dengan exit code 1 sebagai penanda kegagalan.
  3. Baris 7 (sys.version.split()[0]): string sys.version berisi detail lengkap interpreter; .split()[0] mengambil potongan pertamanya, yaitu 3.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 DeprecationWarning adalah 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.