Temeller

Python sürümleri: Python 2 ve 3, 3.10–3.15 sürümlerinde yenilikler ve hangi sürüm kurulmalı

Güncellendi: · Skillaria.Top

Güncel dal Python 3'tür; en son kararlı sürüm Python 3.15'tir (9 Ekim 2026). Python 2 2020'den beri desteklenmiyor. Yeni sürüm her Ekim çıkar ve yaklaşık beş yıl düzeltme alır; yeni projeler için en güncel 3.x kurun, mevcut sürümü ise python3 --version komutuyla öğrenebilirsiniz.

Bugün dilin aktif dalı tek: Python 3. En son kararlı sürüm Python 3.15, 9 Ekim 2026'da yayımlandı; Python 2 ise resmen 2020'de desteğini bitirdi. Aşağıda Python sürümlerinin ne kadar farklı olduğunu, 3.10–3.15 arasında her birinde neler yeni olduğunu, hangisinin kurulması gerektiğini ve bilgisayarınızdaki sürümün nasıl öğrenileceğini anlatıyoruz.

Python sürümleri nasıl düzenlenir

Sürüm numarası üç sayıdan oluşur: 3.15.0. İlki ana sürüm (dalın numarası), ikincisi küçük sürüm — yeni özellikler bu düzeyde eklenir, üçüncüsü ise yalnızca hata düzeltmelerini içeren düzeltme sürümüdür. «Python sürümleri» dendiğinde genellikle küçük sürümler kastedilir: 3.10, 3.11, 3.12 ve benzeri.

2019'dan beri yıllık bir döngü uygulanır (PEP 602): her Ekim'de yeni bir küçük sürüm çıkar. Yayımdan yaklaşık altı ay önce alfa, sonra beta ve aday sürümler çıkar; yayımdan sonra 3.15.1, 3.15.2 gibi düzeltmeler gelir. Bu sürümler arasında geçiş güvenlidir: düzeltme sürümlerinde dilin davranışı değişmez.

Aramalardaki karışıklığın kaynağı da buradadır: «python 311» ile «python 3.11» aynı şeydir — 3.11 sürümü. Numara ondalık kesir değildir, bu yüzden 3.10, 3.9'dan daha yenidir; 3.15 ise 3.2'den daha yenidir.

Python 2 ve Python 3: fark nedir

Python 3, 2008'de çıktı ve dilin eski tasarım kararlarını düzeltmek için geriye dönük uyumluluğu bilerek bozdu. Bu yüzden Python 2 için yazılmış kod, düzenlenmeden Python 3'te çoğu zaman çalışmaz. İkinci dalın son sürümü 2.7'dir; desteği 1 Ocak 2020'de sona erdi, son sürüm 2.7.18 ise Nisan 2020'de çıktı.

KonuPython 2Python 3
Yazdırmaprint "hi" — deyimprint("hi") — fonksiyon
Metinlervarsayılan olarak bayt, Unicode — u"..."str — her zaman Unicode, baytlar — bytes
Bölme7 / 2 sonucu 37 / 2 sonucu 3.5, tam bölme — 7 // 2
Girdiraw_input()input()
Aralıklarrange liste üretir, xrange tembeldirrange tembeldir
Destek2020'den beri yokher yıl yeni sürüm

Bir kitapta ya da yanıtta print parantez olmadan yazılmışsa, bu Python 2'dir ve materyal eskimiştir. İkinci dalı şimdi öğrenmenin bir anlamı yok: yeni sistemlere kurulmuyor, kütüphaneler desteğini çoktan bıraktı; bilgisi yalnızca eski kodu taşımak için gerekebilir.

Python 3.10–3.15 sürümlerinde yenilikler

Aşağıda her sürümün günlük kodu değiştiren başlıca özellikleri var. Tam değişiklik listeleri resmi belgelerdeki What's New bölümünde yer alır.

Python 3.10 (Ekim 2021)

  • Desenle eşleştirme match/case (PEP 634) — if/elif zincirleri yerine veri yapılarını ayrıştırma.
  • Dikey çizgiyle tür birleşimi: Optional[int] yerine int | None (PEP 604).
  • Tek bir with içinde parantez içinde birden fazla bağlam yöneticisi.
  • Söz dizimi hatalarının belirgin biçimde daha anlaşılır mesajları.
def describe(point):
    match point:
        case (0, 0):
            return "orijin"
        case (x, 0):
            return f"X ekseninde: {x}"
        case _:
            return "başka bir yerde"

print(describe((3, 0)))  # X ekseninde: 3

Python 3.11 (Ekim 2022)

  • Hız: Faster CPython projesi yorumlayıcıyı ortalama kabaca dörtte bir oranında hızlandırdı, bazı görevlerde daha fazla.
  • Hata izinde kesin işaretçiler: ^^^^ okları satırda hangi ifadenin hata verdiğini gösterir (PEP 657).
  • Hata grupları ve except* (PEP 654); add_note() ile istisnalara not ekleme.
  • TOML okumak için tomllib modülü — örneğin pyproject.toml dosyası için.

Python 3.12 (Ekim 2023)

  • Genelleştirmeler için yeni söz dizimi: def first[T](items: list[T]) -> T ve tür takma adları için type deyimi (PEP 695).
  • f-string'ler tam teşekküllü bir dilbilgisi oldu (PEP 701): içlerinde aynı tırnak işaretleri, satır sonları ve yorumlar kullanılabilir.
  • Eski distutils standart kütüphaneden kaldırıldı.
  • Hata mesajlarında daha ayrıntılı ipuçları, örneğin «modülü içe aktarmayı mı unuttunuz?».
type Pair = tuple[int, int]

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

songs = ["a", "b"]
print(f"İlk: {first(songs)!r}, toplam {len(songs)}")
print(f"{"içinde tırnak"}")  # 3.12'den itibaren çalışır

Sık sorulan «f-string'ler hangi sürümde» sorusuna gelince: f-string'lerin kendisi Python 3.6'da çıktı; süslü parantezlerin içinde tırnak ve satır sonu serbestliğini ise 3.12 ekledi.

Python 3.13 (Ekim 2024)

  • Yeni etkileşimli konsol: renk, çok satırlı düzenleme, geçmiş ve parantez olmadan exit ve help komutları.
  • Deneysel GIL'siz derleme (free-threaded, PEP 703) ve deneysel JIT derleyici (PEP 744).
  • Kullanılmayan «pil»ler kaldırıldı — cgi ve telnetlib gibi eski modüller (PEP 594).
  • Yeni sürümler için hata düzeltme süresi iki yıla çıkarıldı.

Python 3.14 (Ekim 2025)

  • Şablon metinleri, t-string'ler: t"Merhaba, {name}" hazır bir metin yerine güvenle işlenebilen bir şablon nesnesi döndürür (PEP 750).
  • Açıklamaların (annotation) ertelenmiş değerlendirilmesi (PEP 649) — dosyada aşağıda tanımlanan türlerle ilgili sorunlar azalır.
  • GIL'siz derleme deneysel olmaktan çıktı ve resmi destek aldı.
  • compression.zstd modülü, konsolda sözdizimi renklendirmesi, parantezsiz except A, B:.

Python 3.15 (9 Ekim 2026)

  • Tembel içe aktarma lazy import (PEP 810): modül ilk kullanıldığında yüklenir, başlangıçta değil. Kurstaki ölçümde lazy import pandas ile betik 280 ms yerine 14 ms'de başladı.
  • Standart kütüphanede değiştirilemez sözlük frozendict (PEP 814).
  • Liste üreteçlerinde açma: [*g for g in groups] (PEP 798).
  • Standart kütüphanede örnekleme yapan profilleyici Tachyon (PEP 799).
  • Dosyalarla çalışmada varsayılan olarak UTF-8 (PEP 686) — Windows'ta kodlama sürprizlerine son.
  • Hata mesajlarında yeni «Did you mean» önerileri.
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

Bu kod yalnızca 3.15'te çalışır: daha eski sürümlerde lazy import ve comprehension içinde açma SyntaxError verir, frozendict ise NameError.

Python sürümlerinin destek süreleri

Her sürüm yaklaşık beş yıl yaşar. Önce normal hata düzeltmelerini ve düzenli düzeltme sürümlerini alır (3.13'ten itibaren bu süre iki yıl), sonra sürümün sonuna kadar yalnızca güvenlik düzeltmeleri gelir. Ardından sürüm end-of-life, yani destek sonu olarak kabul edilir: içindeki açıklar artık kimse tarafından kapatılmaz.

SürümYayımDestek sonuDurum Ekim 2026
2.72010Ocak 2020desteklenmiyor
3.9Ekim 2020Ekim 2025desteklenmiyor
3.10Ekim 2021Ekim 2026destek sona eriyor
3.11Ekim 2022Ekim 2027yalnızca güvenlik
3.12Ekim 2023Ekim 2028yalnızca güvenlik
3.13Ekim 2024Ekim 2029hata düzeltmeleri
3.14Ekim 2025Ekim 2030hata düzeltmeleri
3.15Ekim 2026Ekim 2031en yeni

Her dalın güncel durumu Python Developer's Guide içindeki Status of Python versions sayfasında yayımlanır. Uzun ömürlü bir proje için sürüm seçmeden önce oraya bakmak iyi olur.

Hangi Python sürümü kurulmalı

Öğrenme ve yeni projeler için en güncel kararlı sürüm — şu an Python 3.15. «Kanıtlanmış 3.10'u alırım» diye düşünmek işe yaramaz: Ekim 2026'da o sürüm güvenlik düzeltmesi bile almayı bırakır ve düşen bir sürümle öğrenmek, sonradan yeniden öğrenmek demektir. Python 3 içinde uyumluluk iyidir: eski sürüm için yazılmış kod neredeyse her zaman yeni sürümde çalışır, ama tersi doğru değildir.

İstisnalar olur. Gerekli kütüphane yeni sürüm için henüz paket (wheel) yayımlamadıysa — Ekim sürümünden sonraki ilk haftalarda C uzantısı olan paketlerde sık görülür — bir önceki sürümü, 3.14'ü alın. Uzun yaşam süreli bir sunucuda dağıtımın depolarındaki sürümü ya da uv ile istediğiniz sürümü kurun. Ana kural: destek sonuna bir yıldan az kalan bir sürümü seçmeyin.

DurumNe kurulmalı
Dile sıfırdan başlıyorsunuzen son kararlı sürüm (3.15)
Yeni projeen son veya bir önceki sürüm
Kütüphane en yeni sürümü desteklemiyorbir önceki küçük sürüm
Eski proje 3.10 ve daha eskidesteklenen bir sürüme geçişi planlayın
Python 2 koduPython 3'e taşıyın

Python sürümünüz nasıl öğrenilir

Terminalde tek bir komut yeter. macOS ve Linux'ta genellikle python3, Windows'ta python ya da py başlatıcısı kullanılır.

$ python3 --version
Python 3.12.3        # eski sürüm — güncellemek gerekiyor

$ python3 -V
Python 3.15.0

Windows'ta py başlatıcısı kurulu tüm sürümleri gösterir; uv ise görebildiği ve kurabileceği sürümleri listeler:

py --list
uv python list

Programın içinden sürüm bilgisi sys modülüyle alınır. sys.version_info demeti, betiğin kendi yorumlayıcısının uygun olup olmadığını kontrol etmek için kolayca karşılaştırılabilir:

import sys

print(sys.version)            # derleme tarihiyle birlikte tam metin
print(sys.version_info[:3])   # örneğin (3, 15, 0)

if sys.version_info < (3, 10):
    raise SystemExit("Python 3.10 veya daha yeni bir sürüm gerekli")

Eğer python3 --version kurduğunuzdan farklı bir sürüm gösteriyorsa, PATH içinde önce başka bir yorumlayıcı bulunuyor demektir. Hangisi olduğunu macOS ve Linux'ta which python3, Windows'ta where python komutuyla görebilirsiniz.

Bir bilgisayarda birden fazla Python sürümü

3.13 ve 3.15'i yan yana tutmak normaldir: her sürüm kendi klasörüne kurulur. Bunları yönetmenin en rahat yolu uv: uv python install 3.15 sürümü indirir, uv python pin 3.15 ise .python-version dosyasıyla sürümü projeye sabitler. Linux'taki sistem Python'una dokunmamak ve elle güncellememek daha iyidir — işletim sisteminin araçları onunla çalışır.

Projenin en düşük sürümü pyproject.toml dosyasında, requires-python alanında belirtilir. Böylece paket yöneticisi projeyi uygunsuz bir yorumlayıcıya kurmaz.

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

Sonuç

Güncel Python sürümleri 3. dalda toplanır; en yenisi 3.15'tir: tembel içe aktarma, frozendict ve varsayılan UTF-8 ile. Python 2 2020'de sona erdi, 3.10 Ekim 2026'da destekten çıkıyor; bu yüzden öğrenmeye ve yeni projelere güncel bir sürümle başlamak gerekir. Kendi sürümünüzü öğrenmek için python3 --version yeterli. Kursun her konusu «3.10–3.15 yenilikleri» bloğuyla bitiyor, böylece sürüm farkları uygulamalı olarak ele alınıyor.

Sık sorulan sorular

Başlat menüsündeki IDLE Python 3.10 64-bit ne demek?

Bu, python.org kurulum programının eklediği basit geliştirme ortamıdır; adında yorumlayıcının sürümü ve bit sayısı yazar. 3.10 görüyorsanız destek süresi dolmak üzere olan bir sürüm kurulu demektir — yenisini kurmak daha iyi olur.

Python 3.12'yi üstüne yazarak 3.15'e güncelleyebilir miyim?

Küçük sürümler üst üste değil yan yana kurulur: 3.15 kurulunca eski sürüm yerinde kalır ve ayrıca silinebilir. Kütüphaneleri yeni sürüm için yeniden kurmanız ya da sanal ortamı yeniden oluşturmanız gerekir.

64-bit ve 32-bit sürüm arasındaki fark nedir?

64-bit sürüm daha fazla bellek kullanabilir ve günümüzün tüm bilgisayarlarına uygundur; 32-bit sürümü yalnızca çok eski sistemler için seçilir.

Alfa ve beta sürümler ne işe yarar?

Bunlar bir sonraki sürümün kütüphaneleri ve projeleri test etmek için yayımlanan ön sürümlerdir; öğrenmek ve çalışmak için yalnızca kararlı (final) sürümleri kullanın.

Bu konuyu videoyla öğrenin

Bu konu “Python 3.15: от новичка до профи” kursunda uygulamalı olarak ayrıntılı işleniyor.

Kursa git