Batayan

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

Na-update: · Skillaria.Top

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.

AspetoPython 2Python 3
Pag-printprint "hi" — statementprint("hi") — function
Mga stringbytes bilang default, Unicode — u"..."str — laging Unicode, bytes — bytes
Paghahati7 / 2 ay nagbibigay ng 37 / 2 ay nagbibigay ng 3.5, integer — 7 // 2
Inputraw_input()input()
Mga rangerange ay gumagawa ng list, xrange ay lazyrange ay lazy
Suportawala mula 2020bagong 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.

BersyonReleaseKatapusan ng suportaStatus sa Oktubre 2026
2.72010Enero 2020hindi suportado
3.9Oktubre 2020Oktubre 2025hindi suportado
3.10Oktubre 2021Oktubre 2026malapit nang matapos ang suporta
3.11Oktubre 2022Oktubre 2027security fix lang
3.12Oktubre 2023Oktubre 2028security fix lang
3.13Oktubre 2024Oktubre 2029bug fix
3.14Oktubre 2025Oktubre 2030bug fix
3.15Oktubre 2026Oktubre 2031pinakabago

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.

SitwasyonAno ang i-install
Nag-aaral mula sa walapinakabagong stable (3.15)
Bagong proyektopinakabago o ang nauna dito
Hindi sinusuportahan ng library ang pinakabagoang nakaraang minor na bersyon
Lumang proyekto sa 3.10 pababamagplano ng paglipat sa suportadong bersyon
Code sa Python 2ilipat 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.

Mga madalas itanong

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.

Pag-aralan ito sa video

Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Python 3.15: от новичка до профи”.

Pumunta sa kurso