# Mga bersyon ng Python: Python 2 at 3, ano ang bago sa 3.10–3.15 at aling bersyon ang i-install

URL: https://skillaria.top/tl/guides/python/mga-bersyon-ng-python

Ang aktibong sangay ng wika ay Python 3, at ang pinakabagong stable na bersyon ay Python 3.15 (inilabas noong 9 Oktubre 2026). Hindi na suportado ang Python 2 mula 2020. Bagong bersyon ang lumalabas bawat Oktubre at tumatanggap ng update nang humigit-kumulang limang taon, kaya para sa mga bagong proyekto, i-install ang pinakabagong 3.x; ang kasalukuyang bersyon ay makikita sa utos na python3 --version.

Iisa lang ang aktibong sangay ng wika ngayon — Python 3. Ang pinakabagong stable na bersyon ay Python 3.15, na inilabas noong 9 Oktubre 2026, at opisyal nang natapos ang buhay ng Python 2 noong 2020. Sa ibaba, ipapaliwanag kung ano ang pagkakaiba ng mga bersyon ng Python, ano ang lumabas sa bawat isa sa 3.10–3.15, alin ang dapat i-install, at paano malaman kung aling bersyon ang nasa iyong computer.

## Paano nakaayos ang mga bersyon ng Python

Tatlong numero ang bumubuo sa bersyon: `3.15.0`. Ang una ay major na bersyon (sangay ng wika), ang pangalawa ay minor na bersyon kung saan lumalabas ang mga bagong feature, at ang pangatlo ay numero ng patch, na may mga bug fix lamang. Kapag sinasabing «mga bersyon ng Python», karaniwang tinutukoy ang mga minor na bersyon: 3.10, 3.11, 3.12, at iba pa.

Mula 2019, may taunang siklo (PEP 602): lumalabas ang bagong minor na bersyon bawat Oktubre. Mga anim na buwan bago ang release, lumalabas ang mga alpha, sinusundan ng beta at release candidate, at pagkatapos ng release, lumalabas ang mga patch tulad ng 3.15.1, 3.15.2. Ligtas ang mag-update sa pagitan ng mga ito: hindi nagbabago ang takbo ng wika sa mga patch na bersyon.

Dito rin nagmumula ang kalituhan sa paghahanap: ang «python 311» at «python 3.11» ay iisa, ang bersyon 3.11. Hindi ito decimal na numero, kaya mas bago ang 3.10 kaysa 3.9, at mas bago ang 3.15 kaysa 3.2.

## Python 2 at Python 3: ano ang pagkakaiba

Lumabas ang Python 3 noong 2008 at sinadyang sirain ang backward compatibility para maayos ang mga lumang disenyo ng wika. Kaya madalas hindi tumatakbo ang code para sa Python 2 sa Python 3 nang hindi binabago. Ang huling bersyon ng ikalawang sangay ay 2.7, at natapos ang suporta nito noong 1 Enero 2020; lumabas ang huling release na 2.7.18 noong Abril 2020.

| Aspeto | Python 2 | Python 3 |
| --- | --- | --- |

| Pag-print | `print "hi"` — statement | `print("hi")` — function |

| Mga string | bytes bilang default, Unicode — `u"..."` | `str` — laging Unicode, bytes — `bytes` |

| Paghahati | `7 / 2` ay nagbibigay ng 3 | `7 / 2` ay nagbibigay ng 3.5, integer — `7 // 2` |

| Input | `raw_input()` | `input()` |

| Mga range | `range` ay gumagawa ng list, `xrange` ay lazy | `range` ay lazy |

| Suporta | wala mula 2020 | bagong bersyon bawat taon |

Kung nakakita ka ng tutorial o sagot na may `print` na walang panaklong, Python 2 iyon — luma na ang materyal. Hindi na kailangang pag-aralan ang ikalawang sangay: hindi na ito ini-install sa mga bagong sistema, matagal nang tinanggal ng mga library ang suporta nito, at ang kaalaman dito ay kailangan lang kapag magdadala ng lumang code.

## Ano ang bago sa Python 3.10–3.15

Narito ang pinakamahalaga sa bawat bersyon, ang mga bagay na nagbabago sa araw-araw na code. Kumpletong listahan ng mga pagbabago ay nasa seksyong What's New ng opisyal na dokumentasyon.

### Python 3.10 (Oktubre 2021)

- Structural pattern matching gamit ang `match`/`case` (PEP 634) — pag-unawa sa mga istruktura ng data sa halip na mga kadena ng `if`/`elif`.
- Union ng mga uri gamit ang patayong linya: `int | None` sa halip na `Optional[int]` (PEP 604).
- Maraming context manager sa loob ng panaklong sa isang `with`.
- Mas malinaw na mga mensahe ng syntax error.

```
def describe(point):
    match point:
        case (0, 0):
            return "pinagmulan ng coordinates"
        case (x, 0):
            return f"nasa X axis: {x}"
        case _:
            return "nasaan man"

print(describe((3, 0)))  # nasa X axis: 3
```

### Python 3.11 (Oktubre 2022)

- Bilis: pinabilis ng proyektong Faster CPython ang interpreter nang humigit-kumulang isang-kapat sa average, at mas malaki sa ilang gawain.
- Tumpak na turo sa traceback: ipinapakita ng mga arrow na `^^^^` kung aling eksaktong expression sa linya ang nag-error (PEP 657).
- Exception group at `except*` (PEP 654), mga note sa exception sa pamamagitan ng `add_note()`.
- Module na `tomllib` para magbasa ng TOML — halimbawa, `pyproject.toml`.

### Python 3.12 (Oktubre 2023)

- Bagong sintaks ng generics: `def first[T](items: list[T]) -> T` at ang keyword na `type` para sa type alias (PEP 695).
- Ang f-string ay naging buong grammar (PEP 701): sa loob nito, maaari nang gamitin ang parehong quote, line break, at comment.
- Tinanggal sa standard library ang luma nang `distutils`.
- Mas detalyadong mga mungkahi sa error, halimbawa «nakalimutan mo bang i-import ang module?».

```
type Pair = tuple[int, int]

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

songs = ["a", "b"]
print(f"Una: {first(songs)!r}, kabuuan {len(songs)}")
print(f"{"quotes sa loob"}")  # gumagana sa 3.12
```

Tungkol naman sa madalas itanong na «mula anong bersyon ang f-string»: lumabas ang mga f-string noong Python 3.6, pero ang kalayaan sa quotes at line break sa loob ng mga curly brace ay idinagdag sa 3.12.

### Python 3.13 (Oktubre 2024)

- Bagong interactive console: may kulay, multi-line na pag-edit, history, at mga utos na `exit` at `help` na walang panaklong.
- Eksperimental na build na walang GIL (free-threaded, PEP 703) at eksperimental na JIT compiler (PEP 744).
- Tinanggal ang mga «patay na baterya» — mga lumang module gaya ng `cgi` at `telnetlib` (PEP 594).
- Pinalawig hanggang dalawang taon ang panahon ng bug fix para sa mga bagong bersyon.

### Python 3.14 (Oktubre 2025)

- Template strings, t-strings: ang `t"Kamusta, {name}"` ay hindi nagbibigay ng tapos nang string kundi ng template object na ligtas na maipoproseso (PEP 750).
- Naantalang pagkalkula ng annotations (PEP 649) — mas kaunting problema sa mga uri na idineklara sa ibaba ng file.
- Hindi na eksperimental ang build na walang GIL at nakakuha ng opisyal na suporta.
- Module na `compression.zstd`, syntax highlighting sa console, at `except A, B:` na walang panaklong.

### Python 3.15 (9 Oktubre 2026)

- Lazy import gamit ang `lazy import` (PEP 810): nilo-load ang module sa unang paggamit, hindi sa pag-start. Sa sukat sa kurso, nag-start ang script na may `lazy import pandas` sa loob ng 14 ms sa halip na 280 ms.
- Built-in na hindi nababagong dictionary na `frozendict` (PEP 814).
- Unpacking sa list comprehension: `[*g for g in groups]` (PEP 798).
- Sampling profiler na Tachyon sa standard library (PEP 799).
- UTF-8 bilang default sa pagtatrabaho sa file (PEP 686) — wala nang sorpresa sa encoding sa Windows.
- Bagong mungkahing «Did you mean» sa mga mensahe ng 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
```

Tatakbo lamang ang code na ito sa 3.15: sa mas lumang bersyon, ang `lazy import` at unpacking sa comprehension ay magbibigay ng `SyntaxError`, at ang `frozendict` ay `NameError`.

## Mga petsa ng suporta ng mga bersyon ng Python

Humigit-kumulang limang taon ang buhay ng bawat bersyon. Una, tumatanggap ito ng karaniwang bug fix at regular na patch release (mula 3.13, dalawang taon), pagkatapos ay mga security fix na lang hanggang sa dulo ng panahon. Pagkatapos nito, itinuturing na end-of-life ang bersyon: walang nag-aayos na ng mga kahinaan dito.

| Bersyon | Release | Katapusan ng suporta | Status sa Oktubre 2026 |
| --- | --- | --- | --- |

| 2.7 | 2010 | Enero 2020 | hindi suportado |

| 3.9 | Oktubre 2020 | Oktubre 2025 | hindi suportado |

| 3.10 | Oktubre 2021 | Oktubre 2026 | malapit nang matapos ang suporta |

| 3.11 | Oktubre 2022 | Oktubre 2027 | security fix lang |

| 3.12 | Oktubre 2023 | Oktubre 2028 | security fix lang |

| 3.13 | Oktubre 2024 | Oktubre 2029 | bug fix |

| 3.14 | Oktubre 2025 | Oktubre 2030 | bug fix |

| 3.15 | Oktubre 2026 | Oktubre 2031 | pinakabago |

Ang kasalukuyang status ng bawat sangay ay nilalathala sa pahinang Status of Python versions sa Python Developer's Guide. Bago pumili ng bersyon para sa proyektong tatagal nang matagal, sulit itong tingnan.

## Aling bersyon ng Python ang i-install

Para sa pag-aaral at mga bagong proyekto, i-install ang pinakabagong stable — sa ngayon, Python 3.15. Hindi magandang dahilan ang «kukuha ako ng subok na 3.10»: pagsapit ng Oktubre 2026, hindi na ito tumatanggap kahit ng security fix, at kapag natutunan mo ang wika sa bersyong papalabas na, kailangan mo pang mag-adjust. Maganda ang compatibility sa loob ng Python 3: halos palaging gumagana sa bagong bersyon ang code para sa lumang bersyon, pero hindi ang kabaligtaran.

May mga eksepsiyon. Kung hindi pa naglalabas ang kailangang library ng mga wheel para sa pinakabagong bersyon (nangyayari ito sa unang mga linggo pagkatapos ng Oktubre release sa mga package na may C extension), kunin ang nauna — 3.14. Sa server na may mahabang buhay, sundin ang bersyon mula sa mga repository ng distribusyon o i-install ang kailangan gamit ang uv. Ang pangunahing tuntunin: huwag pumili ng bersyon na wala nang mahigit isang taon bago matapos ang suporta.

| Sitwasyon | Ano ang i-install |
| --- | --- |

| Nag-aaral mula sa wala | pinakabagong stable (3.15) |

| Bagong proyekto | pinakabago o ang nauna dito |

| Hindi sinusuportahan ng library ang pinakabago | ang nakaraang minor na bersyon |

| Lumang proyekto sa 3.10 pababa | magplano ng paglipat sa suportadong bersyon |

| Code sa Python 2 | ilipat sa Python 3 |

## Paano malaman ang bersyon ng Python

Sapat na ang isang utos sa terminal. Sa macOS at Linux, karaniwang ginagamit ang `python3`; sa Windows, ang `python` o ang launcher na `py`.

```
$ python3 --version
Python 3.12.3        # luma na ang bersyon — panahon nang mag-update

$ python3 -V
Python 3.15.0
```

Sa Windows, ipinapakita ng launcher ang lahat ng naka-install na bersyon nang sabay, at ipinapakita ng uv ang mga bersyong nakikita at kaya nitong i-install:

```
py --list
uv python list
```

Mula sa loob ng programa, ibinibigay ng module na `sys` ang bersyon. Maginhawang ikumpara ang tuple na `sys.version_info`, para makapagsuri ang script mismo kung angkop dito ang interpreter:

```
import sys

print(sys.version)            # buong string na may petsa ng build
print(sys.version_info[:3])   # halimbawa (3, 15, 0)

if sys.version_info < (3, 10):
    raise SystemExit("Kailangan ng Python 3.10 o mas bago")
```

Kung ang `python3 --version` ay nagpapakita ng ibang bersyon kaysa sa ininstall mo, ibig sabihin, may ibang interpreter na unang nakita sa PATH. Para malaman kung alin, gamitin ang `which python3` sa macOS at Linux, o `where python` sa Windows.

## Maraming bersyon sa iisang computer

Normal na magkatabi ang 3.13 at 3.15: bawat isa ay naka-install sa sarili nitong folder. Pinakamadaling pamahalaan sila gamit ang uv: dina-download ng `uv python install 3.15` ang bersyon, at itinatali ito ng `uv python pin 3.15` sa proyekto sa file na `.python-version`. Mas mabuting huwag galawin at manu-manong i-update ang system Python sa Linux — ginagamit ito ng mga utility ng operating system mismo.

Ang pinakamababang bersyon ng proyekto ay itinatakda sa `pyproject.toml`, sa field na `requires-python`. Sa ganitong paraan, hindi papayagan ng package installer na mai-install ang proyekto sa hindi angkop na interpreter.

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

## Buod

Ang aktibong bersyon ng Python ay ang sangay 3, at ang pinakabago ay 3.15 na may lazy import, `frozendict`, at UTF-8 bilang default. Natapos ang Python 2 noong 2020, at mawawalan ng suporta ang 3.10 sa Oktubre 2026, kaya sa bagong bersyon dapat mag-aral at magsimula ng mga proyekto. Tingnan ang iyong bersyon gamit ang `python3 --version`. Sa kurso, bawat paksa ay nagtatapos sa bloke na «Ano ang bago sa 3.10–3.15», kaya nalalaman ang mga pagbabago ng bersyon sa praktika.

## FAQ

**Ano ang IDLE Python 3.10 64-bit sa Start menu?**

Ito ang simpleng development environment na kasama ng installer mula sa python.org; nakasaad sa pangalan ang bersyon ng interpreter at ang bit. Kung 3.10 ang nandoon, may bersyong malapit nang mawalan ng suporta — mas mabuting mag-install ng bago.

**Maaari bang i-update ang Python 3.12 papuntang 3.15 sa ibabaw nito?**

Magkatabing naka-install ang mga minor na bersyon at hindi pinapalitan ang isa't isa: pagkatapos ng 3.15, nananatili ang luma, at maaari itong alisin nang hiwalay. Kailangang i-install muli ang mga library para sa bagong bersyon, o gumawa ng bagong virtual environment.

**Ano ang pagkakaiba ng 64-bit at 32-bit na bersyon?**

Mas maraming memory ang kayang gamitin ng 64-bit na bersyon at angkop ito sa lahat ng modernong computer; ang 32-bit ay kinukuha lamang para sa napakaluma nang sistema.

**Para saan ang alpha at beta na mga bersyon?**

Mga paunang build ito ng susunod na bersyon para sa pagsubok ng mga library at proyekto; para sa pag-aaral at trabaho, mag-install lamang ng pinal na release.


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