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

URL: https://skillaria.top/tr/guides/python/python-surumleri

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ı.

| Konu | Python 2 | Python 3 |
| --- | --- | --- |

| Yazdırma | `print "hi"` — deyim | `print("hi")` — fonksiyon |

| Metinler | varsayılan olarak bayt, Unicode — `u"..."` | `str` — her zaman Unicode, baytlar — `bytes` |

| Bölme | `7 / 2` sonucu 3 | `7 / 2` sonucu 3.5, tam bölme — `7 // 2` |

| Girdi | `raw_input()` | `input()` |

| Aralıklar | `range` liste üretir, `xrange` tembeldir | `range` tembeldir |

| Destek | 2020'den beri yok | her 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üm | Yayım | Destek sonu | Durum Ekim 2026 |
| --- | --- | --- | --- |

| 2.7 | 2010 | Ocak 2020 | desteklenmiyor |

| 3.9 | Ekim 2020 | Ekim 2025 | desteklenmiyor |

| 3.10 | Ekim 2021 | Ekim 2026 | destek sona eriyor |

| 3.11 | Ekim 2022 | Ekim 2027 | yalnızca güvenlik |

| 3.12 | Ekim 2023 | Ekim 2028 | yalnızca güvenlik |

| 3.13 | Ekim 2024 | Ekim 2029 | hata düzeltmeleri |

| 3.14 | Ekim 2025 | Ekim 2030 | hata düzeltmeleri |

| 3.15 | Ekim 2026 | Ekim 2031 | en 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.

| Durum | Ne kurulmalı |
| --- | --- |

| Dile sıfırdan başlıyorsunuz | en son kararlı sürüm (3.15) |

| Yeni proje | en son veya bir önceki sürüm |

| Kütüphane en yeni sürümü desteklemiyor | bir önceki küçük sürüm |

| Eski proje 3.10 ve daha eski | desteklenen bir sürüme geçişi planlayın |

| Python 2 kodu | Python 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.

## FAQ

**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.


---
Source: Skillaria.Top (https://skillaria.top)
