Dasar

Versi Python: Python 2 dan 3, yang baru di 3.10–3.15 dan versi mana yang sebaiknya dipasang

Diperbarui: · Skillaria.Top

Cabang Python yang masih aktif adalah Python 3; versi stabil terbaru adalah Python 3.15 (rilis 9 Oktober 2026). Python 2 tidak didukung sejak 2020. Versi baru keluar setiap Oktober dan mendapat pembaruan sekitar lima tahun, jadi untuk proyek baru pasang 3.x terbaru, dan cek versi Anda dengan perintah python3 --version.

Saat ini cabang bahasa yang aktif hanya satu — Python 3. Versi stabil terbarunya adalah Python 3.15, dirilis 9 Oktober 2026, sedangkan Python 2 resmi berakhir sejak 2020. Di bawah ini dijelaskan perbedaan versi Python, apa yang baru di masing-masing versi 3.10–3.15, mana yang sebaiknya dipasang, dan cara mengecek versi yang sudah ada di komputer Anda.

Cara penomoran versi Python

Nomor versi terdiri dari tiga angka: 3.15.0. Angka pertama adalah versi mayor (cabang bahasa), angka kedua adalah versi minor, di mana fitur baru muncul, dan angka ketiga adalah nomor perbaikan yang hanya berisi bugfix. Ketika orang berbicara tentang «versi Python», biasanya yang dimaksud adalah versi minor: 3.10, 3.11, 3.12, dan seterusnya.

Sejak 2019 berlaku siklus tahunan (PEP 602): versi minor baru keluar setiap Oktober. Sekitar enam bulan sebelum rilis, muncul alpha, lalu beta dan release candidate, dan setelah rilis muncul perbaikan seperti 3.15.1, 3.15.2. Memperbarui di antara patch ini aman: perilaku bahasa tidak berubah di versi patch.

Dari sini juga muncul kebingungan saat mencari: «python 311» dan «python 3.11» adalah hal yang sama, yaitu versi 3.11. Nomor ini bukan pecahan desimal, sehingga 3.10 lebih baru daripada 3.9, dan 3.15 lebih baru daripada 3.2.

Python 2 dan Python 3: apa bedanya

Python 3 dirilis pada 2008 dan sengaja memutus kompatibilitas mundur untuk memperbaiki keputusan lama dalam bahasa. Karena itu kode untuk Python 2 sering tidak berjalan di Python 3 tanpa perubahan. Versi terakhir cabang kedua adalah 2.7; dukungannya berakhir 1 Januari 2020, dan rilis final 2.7.18 keluar pada April 2020.

HalPython 2Python 3
Cetakprint "hi" — pernyataanprint("hi") — fungsi
Stringbyte secara default, Unicode — u"..."str — selalu Unicode, byte — bytes
Pembagian7 / 2 menghasilkan 37 / 2 menghasilkan 3.5, bulat — 7 // 2
Inputraw_input()input()
Rentangrange membuat list, xrange — lazyrange lazy
Dukungantidak ada sejak 2020versi baru setiap tahun

Jika Anda menemukan tutorial atau jawaban dengan print tanpa tanda kurung, itu Python 2 — materinya sudah usang. Tidak ada gunanya mempelajari cabang kedua sekarang: tidak lagi dipasang di sistem baru, pustaka sudah lama berhenti mendukungnya, dan pengetahuannya hanya berguna untuk memindahkan kode lama.

Yang baru di Python 3.10–3.15

Berikut hal terpenting di setiap versi, yaitu yang mengubah kode sehari-hari. Daftar perubahan lengkap ada di bagian What's New dalam dokumentasi resmi.

Python 3.10 (Oktober 2021)

  • Pencocokan pola match/case (PEP 634) — membaca struktur data tanpa rangkaian if/elif.
  • Gabungan tipe dengan garis tegak: int | None alih-alih Optional[int] (PEP 604).
  • Beberapa context manager dalam satu with dengan tanda kurung.
  • Pesan error sintaksis yang jauh lebih jelas.
def describe(point):
    match point:
        case (0, 0):
            return "titik asal"
        case (x, 0):
            return f"pada sumbu X: {x}"
        case _:
            return "di tempat lain"

print(describe((3, 0)))  # pada sumbu X: 3

Python 3.11 (Oktober 2022)

  • Kecepatan: proyek Faster CPython mempercepat interpreter rata-rata sekitar seperempat, dan pada sebagian tugas lebih besar lagi.
  • Penunjuk traceback yang presisi: panah ^^^^ menunjukkan ekspresi mana di baris itu yang gagal (PEP 657).
  • Grup exception dan except* (PEP 654), catatan pada exception lewat add_note().
  • Modul tomllib untuk membaca TOML — misalnya pyproject.toml.

Python 3.12 (Oktober 2023)

  • Sintaks generik baru: def first[T](items: list[T]) -> T dan kata kunci type untuk alias tipe (PEP 695).
  • f-string dengan tata bahasa penuh (PEP 701): di dalamnya boleh memakai tanda kutip yang sama, baris baru, dan komentar.
  • Modul distutils yang usang dihapus dari pustaka standar.
  • Saran yang lebih rinci pada error, misalnya «lupa mengimpor modul?».
type Pair = tuple[int, int]

def first[T](items: list[T]) -> T:
    return items[0]

songs = ["a", "b"]
print(f"Pertama: {first(songs)!r}, total {len(songs)}")
print(f"{"di dalam tanda kutip"}")  # berfungsi mulai 3.12

Omong-omong, pertanyaan yang sering muncul «f-string sejak versi berapa»: f-string sudah ada sejak Python 3.6, sedangkan kebebasan memakai tanda kutip dan baris baru di dalam kurung kurawal ditambahkan di 3.12.

Python 3.13 (Oktober 2024)

  • Konsol interaktif baru: warna, pengeditan multibaris, riwayat, serta perintah exit dan help tanpa tanda kurung.
  • Build eksperimental tanpa GIL (free-threaded, PEP 703) dan JIT compiler eksperimental (PEP 744).
  • Modul lama yang tidak lagi dipakai, seperti cgi dan telnetlib, dihapus (PEP 594).
  • Masa perbaikan bug untuk versi baru diperpanjang menjadi dua tahun.

Python 3.14 (Oktober 2025)

  • Template string, t-string: t"Halo, {name}" mengembalikan objek template, bukan string jadi, sehingga bisa diproses dengan aman (PEP 750).
  • Evaluasi anotasi yang ditunda (PEP 649) — lebih sedikit masalah dengan tipe yang dideklarasikan di bawah dalam file.
  • Build tanpa GIL tidak lagi eksperimental dan mendapat dukungan resmi.
  • Modul compression.zstd, penyorotan sintaksis di konsol, dan except A, B: tanpa tanda kurung.

Python 3.15 (9 Oktober 2026)

  • Lazy import lazy import (PEP 810): modul dimuat saat pertama kali diakses, bukan saat start. Pada pengukuran di kursus, skrip dengan lazy import pandas start dalam 14 ms, bukan 280 ms.
  • Dictionary tidak dapat diubah bawaan frozendict (PEP 814).
  • Unpacking dalam list comprehension: [*g for g in groups] (PEP 798).
  • Profiler sampling Tachyon di pustaka standar (PEP 799).
  • UTF-8 secara default saat bekerja dengan file (PEP 686) — tidak ada lagi kejutan encoding di Windows.
  • Saran «Did you mean» baru pada pesan error.
lazy import json                    # PEP 810
cfg = frozendict(limit=500)         # PEP 814
flat = [*g for g in [[1, 2], [3]]]  # PEP 798 -> [1, 2, 3]
print(flat, cfg["limit"])
# python -m profiling.sampling run app.py   # PEP 799, Tachyon

Kode ini hanya berjalan di 3.15: di versi lebih lama, lazy import dan unpacking di comprehension menghasilkan SyntaxError, dan frozendict menghasilkan NameError.

Masa dukungan versi Python

Setiap versi hidup sekitar lima tahun. Pertama ia mendapat perbaikan bug biasa dan rilis patch rutin (sejak 3.13 selama dua tahun), kemudian hanya perbaikan keamanan sampai akhir masa dukungan. Setelah itu versi dianggap end-of-life: kerentanan tidak lagi diperbaiki oleh siapa pun.

VersiRilisAkhir dukunganStatus Oktober 2026
2.72010Januari 2020tidak didukung
3.9Oktober 2020Oktober 2025tidak didukung
3.10Oktober 2021Oktober 2026masa dukungan berakhir
3.11Oktober 2022Oktober 2027hanya keamanan
3.12Oktober 2023Oktober 2028hanya keamanan
3.13Oktober 2024Oktober 2029perbaikan bug
3.14Oktober 2025Oktober 2030perbaikan bug
3.15Oktober 2026Oktober 2031terbaru

Status terkini setiap cabang dipublikasikan di halaman Status of Python versions pada Python Developer's Guide. Sebelum memilih versi untuk proyek jangka panjang, ada baiknya memeriksanya di sana.

Versi Python mana yang sebaiknya dipasang

Untuk belajar dan proyek baru, pasang versi stabil terbaru, saat ini Python 3.15. Alasan «saya pakai 3.10 saja karena sudah teruji» tidak tepat: pada Oktober 2026 versi itu tidak lagi menerima bahkan perbaikan keamanan, dan belajar dengan versi yang sudah ditinggalkan berarti harus belajar ulang nanti. Dalam Python 3 kompatibilitasnya baik: kode untuk versi lama hampir selalu berjalan di versi baru, tetapi tidak sebaliknya.

Ada pengecualian. Jika pustaka yang Anda butuhkan belum merilis wheel untuk versi terbaru (ini sering terjadi beberapa minggu setelah rilis Oktober untuk paket dengan ekstensi C), pakai versi sebelumnya — 3.14. Untuk server yang akan hidup lama, ikuti versi dari repositori distribusi atau pasang versi yang diinginkan lewat uv. Aturan utamanya: jangan pilih versi yang masa dukungannya tersisa kurang dari setahun.

SituasiYang dipasang
Belajar dari nolversi stabil terbaru (3.15)
Proyek baruterbaru atau satu sebelumnya
Pustaka belum mendukung versi terbaruversi minor sebelumnya
Proyek lama di 3.10 atau lebih rendahrencanakan migrasi ke versi yang didukung
Kode Python 2pindahkan ke Python 3

Cara mengecek versi Python

Di terminal cukup satu perintah. Di macOS dan Linux biasanya dipakai python3, di Windows python atau launcher py.

$ python3 --version
Python 3.12.3        # versi lama — saatnya memperbarui

$ python3 -V
Python 3.15.0

Di Windows, launcher menampilkan semua versi yang terpasang sekaligus, sedangkan uv menampilkan versi yang ia lihat dan bisa pasang:

py --list
uv python list

Dari dalam program, versi diambil lewat modul sys. Tuple sys.version_info mudah dibandingkan, sehingga skrip bisa memeriksa sendiri apakah interpreter-nya cocok:

import sys

print(sys.version)            # string lengkap dengan tanggal build
print(sys.version_info[:3])   # misalnya (3, 15, 0)

if sys.version_info < (3, 10):
    raise SystemExit("Diperlukan Python 3.10 atau yang lebih baru")

Jika python3 --version menampilkan versi yang berbeda dari yang Anda pasang, berarti di PATH ditemukan interpreter lain lebih dulu. Untuk memeriksa yang mana, gunakan which python3 di macOS dan Linux atau where python di Windows.

Beberapa versi Python dalam satu komputer

Menyimpan 3.13 dan 3.15 berdampingan itu wajar: masing-masing dipasang di folder sendiri. Paling mudah mengelolanya dengan uv: uv python install 3.15 mengunduh versi tersebut, dan uv python pin 3.15 menetapkannya untuk proyek lewat file .python-version. Python sistem di Linux sebaiknya tidak disentuh dan tidak diperbarui manual — utilitas sistem operasi bergantung padanya.

Versi minimal proyek ditulis di pyproject.toml pada kolom requires-python. Dengan begitu, pengelola paket tidak akan memasang proyek ke interpreter yang tidak sesuai.

[project]
name = "expenses"
version = "0.1.0"
requires-python = ">=3.15"

Kesimpulan

Versi Python yang aktif adalah cabang 3, dan yang terbaru adalah 3.15 dengan lazy import, frozendict, dan UTF-8 secara default. Python 2 berakhir pada 2020, 3.10 kehilangan dukungan pada Oktober 2026, sehingga belajar dan memulai proyek sebaiknya memakai versi yang baru. Untuk mengecek versi Anda, jalankan python3 --version. Di kursus, setiap topik diakhiri dengan blok «Yang baru di 3.10–3.15», sehingga perubahan antarversi dibahas langsung dengan contoh.

Pertanyaan umum

Apa itu IDLE Python 3.10 64-bit di menu Start?

Itu lingkungan pengembangan sederhana yang ikut terpasang dari installer python.org; nama tersebut menunjukkan versi interpreter dan arsitekturnya. Jika tertulis 3.10, berarti Anda memakai versi yang masa dukungannya berakhir — sebaiknya pasang yang baru.

Bisakah memperbarui Python 3.12 ke 3.15 dengan menimpanya?

Versi minor dipasang berdampingan, bukan menimpa: setelah 3.15 terpasang, versi lama tetap ada dan bisa dihapus terpisah. Pustaka untuk versi baru perlu dipasang ulang, atau virtual environment dibuat ulang.

Apa bedanya versi 64-bit dan 32-bit?

Versi 64-bit bisa memakai lebih banyak memori dan cocok untuk semua komputer modern; versi 32-bit hanya dipilih untuk sistem yang sangat lama.

Untuk apa versi alpha dan beta?

Itu rilis awal dari versi berikutnya untuk menguji pustaka dan proyek; untuk belajar dan bekerja, pakai hanya rilis final.

Pelajari topik ini lewat video

Topik ini dibahas mendalam dengan praktik di kursus “Python 3.15: от новичка до профи”.

Ke kursus