Matoleo ya Python: Python 2 na 3, kipya katika 3.10–3.15 na toleo gani la kusakinisha
Tawi hai la lugha ni Python 3, toleo la hivi karibuni thabiti ni Python 3.15 (lilitoka tarehe 9 Oktoba 2026); Python 2 haisaidiwi tangu 2020. Toleo jipya hutoka kila Oktoba na hupokea marekebisho kwa takriban miaka mitano, kwa hiyo kwa miradi mipya chagua 3.x ya hivi karibuni, na toleo lako unaweza kulijua kwa amri python3 --version.
Leo tawi hai la lugha ni moja — Python 3. Toleo la hivi karibuni thabiti ni Python 3.15, lililotoka tarehe 9 Oktoba 2026, na Python 2 ilimaliza rasmi maisha yake tayari mwaka 2020. Hapa chini tunaeleza matoleo ya Python yanatofautianaje, kilichoongezwa katika kila toleo kati ya 3.10 na 3.15, lipi la kusakinisha, na jinsi ya kujua toleo lililopo kwenye kompyuta yako.
Matoleo ya Python yanavyopangwa
Namba ya toleo ina sehemu tatu: 3.15.0. Ya kwanza ni toleo kuu (tawi la lugha), ya pili ni toleo dogo ambamo vipengele vipya huongezwa, ya tatu ni namba ya marekebisho, ambamo kuna marekebisho ya hitilafu pekee. Watu wanaposema «matoleo ya Python» kwa kawaida wanamaanisha matoleo madogo: 3.10, 3.11, 3.12 na kadhalika.
Tangu 2019 kuna mzunguko wa kila mwaka (PEP 602): toleo jipya dogo hutoka kila Oktoba. Takriban miezi sita kabla ya kutolewa huja alpha, kisha beta na release candidate, na baada ya kutoka huja marekebisho kama 3.15.1, 3.15.2. Kubadilisha kati yao ni salama: tabia ya lugha haibadiliki katika matoleo ya marekebisho.
Hapa ndipo pia kunapotokea mkanganyiko wa utafutaji: «python 311» na «python 3.11» ni kitu kimoja, yaani toleo 3.11. Namba hii si desimali, kwa hiyo 3.10 ni mpya kuliko 3.9, na 3.15 ni mpya kuliko 3.2.
Python 2 na Python 3: tofauti ni nini
Python 3 ilitoka mwaka 2008 na kwa makusudi ikavunja upatanifu wa nyuma ili kurekebisha suluhisho za zamani za lugha. Kwa hiyo msimbo wa Python 2 mara nyingi hauendeshi katika Python 3 bila marekebisho. Toleo la mwisho la tawi la pili ni 2.7; msaada wake uliisha tarehe 1 Januari 2020, na toleo la mwisho 2.7.18 lilitoka Aprili 2020.
| Kipengele | Python 2 | Python 3 |
|---|---|---|
| Kuchapisha | print "hi" — kauli | print("hi") — kazi |
| Nyuzi | baiti kwa chaguo-msingi, Unicode — u"..." | str — daima Unicode, baiti — bytes |
| Kugawanya | 7 / 2 inatoa 3 | 7 / 2 inatoa 3.5, nambari nzima — 7 // 2 |
| Kuingiza | raw_input() | input() |
| Safu za namba | range inajenga orodha, xrange ni ya uvivu | range ni ya uvivu |
| Msaada | hakuna tangu 2020 | toleo jipya kila mwaka |
Ukikuta kitabu au jibu lenye print bila mabano, hiyo ni Python 2 — nyenzo imepitwa na wakati. Kujifunza tawi la pili sasa hakuna maana: halisakinishwi kwenye mifumo mipya, maktaba zimeacha kulisaidia kwa muda mrefu, na ujuzi wake unahitajika tu kwa kuhamisha msimbo wa zamani.
Kipya katika Python 3.10–3.15
Hapa chini ni mambo muhimu ya kila toleo, yale yanayobadilisha msimbo wa kila siku. Orodha kamili za mabadiliko ziko katika sehemu ya What's New ya nyaraka rasmi.
Python 3.10 (Oktoba 2021)
- Ulinganishaji wa muundo
match/case(PEP 634) — kuchambua miundo ya data badala ya minyororo yaif/elif. - Muungano wa aina kwa mstari wima:
int | Nonebadala yaOptional[int](PEP 604). - Meneja kadhaa wa muktadha ndani ya mabano katika
withmoja. - Ujumbe wa makosa ya sintaksia ulio wazi zaidi sana.
def describe(point):
match point:
case (0, 0):
return "asili ya kuratibu"
case (x, 0):
return f"kwenye mhimili X: {x}"
case _:
return "mahali pengine"
print(describe((3, 0))) # kwenye mhimili X: 3
Python 3.11 (Oktoba 2022)
- Kasi: mradi wa Faster CPython uliharakisha mkalimani kwa wastani takriban robo, na kwa baadhi ya kazi zaidi.
- Viashiria sahihi kwenye traceback: mishale
^^^^inaonyesha usemi kamili uliovunjika kwenye mstari (PEP 657). - Vikundi vya vighairi na
except*(PEP 654), maelezo kwenye vighairi kupitiaadd_note(). - Moduli
tomllibya kusoma TOML — kwa mfanopyproject.toml.
Python 3.12 (Oktoba 2023)
- Sintaksia mpya ya jumla (generics):
def first[T](items: list[T]) -> Tna kaulitypekwa majina mbadala ya aina (PEP 695). - F-strings zimepewa sarufi kamili (PEP 701): ndani yake unaweza kutumia nukuu zile zile, mistari mipya na maoni.
- Kifurushi cha zamani
distutilskimeondolewa kwenye maktaba ya kawaida. - Vidokezo vya kina zaidi kwenye makosa, kwa mfano «umesahau kuingiza moduli?».
type Pair = tuple[int, int]
def first[T](items: list[T]) -> T:
return items[0]
songs = ["a", "b"]
print(f"Ya kwanza: {first(songs)!r}, jumla {len(songs)}")
print(f"{"nukuu ndani"}") # inafanya kazi kuanzia 3.12
Kuhusu swali la mara kwa mara «f-strings zilianza toleo gani»: f-strings zenyewe zilionekana tangu Python 3.6, lakini uhuru wa nukuu na mistari mipya ndani ya mabano yaliyopinda uliongezwa na 3.12.
Python 3.13 (Oktoba 2024)
- Kiweko kipya shirikishi: rangi, uhariri wa mistari mingi, historia, na amri
exitnahelpbila mabano. - Muundo wa majaribio usio na GIL (free-threaded, PEP 703) na kikusanyaji cha JIT cha majaribio (PEP 744).
- Moduli za zamani zisizotumika — kama
cginatelnetlib— zimeondolewa (PEP 594). - Muda wa marekebisho ya hitilafu kwa matoleo mapya umeongezwa hadi miaka miwili.
Python 3.14 (Oktoba 2025)
- Nyuzi za violezo, t-strings:
t"Habari, {name}"hurudisha si nyuzi iliyokamilika, bali kitu cha kiolezo ambacho kinaweza kushughulikiwa kwa usalama (PEP 750). - Hesabu iliyocheleweshwa ya maelezo ya aina (PEP 649) — matatizo machache na aina zilizotangazwa chini ya faili.
- Muundo bila GIL haukuwa wa majaribio tena na ulipata msaada rasmi.
- Moduli
compression.zstd, kuangazia sintaksia kwenye kiweko, naexcept A, B:bila mabano.
Python 3.15 (9 Oktoba 2026)
- Uagizaji wa uvivu
lazy import(PEP 810): moduli inapakiwa inapotumika kwa mara ya kwanza, si mwanzoni. Katika kipimo cha kozi, maandishi yenyelazy import pandasyalianza kwa 14 ms badala ya 280 ms. - Kamusi isiyobadilika
frozendictndani ya lugha (PEP 814). - Kufungua orodha ndani ya comprehension:
[*g for g in groups](PEP 798). - Profiler ya sampuli Tachyon katika maktaba ya kawaida (PEP 799).
- UTF-8 kwa chaguo-msingi wakati wa kufanya kazi na mafaili (PEP 686) — mwisho wa mshangao wa usimbaji kwenye Windows.
- Vidokezo vipya vya «Did you mean» kwenye ujumbe wa makosa.
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
Msimbo huu utaendeshwa tu kwenye 3.15: kwenye matoleo ya zamani lazy import na kufungua ndani ya comprehension vinatoa SyntaxError, na frozendict — NameError.
Muda wa msaada wa matoleo ya Python
Kila toleo linaishi takriban miaka mitano. Kwanza hupokea marekebisho ya kawaida ya hitilafu na matoleo ya marekebisho mara kwa mara (kuanzia 3.13 — miaka miwili), kisha marekebisho ya usalama tu hadi mwisho wa muda wake. Baada ya hapo toleo linachukuliwa kuwa end-of-life: udhaifu ndani yake hakuna anayeurekebisha tena.
| Toleo | Kutoka | Mwisho wa msaada | Hali Oktoba 2026 |
|---|---|---|---|
| 2.7 | 2010 | Januari 2020 | haisaidiwi |
| 3.9 | Oktoba 2020 | Oktoba 2025 | haisaidiwi |
| 3.10 | Oktoba 2021 | Oktoba 2026 | msaada unamalizika |
| 3.11 | Oktoba 2022 | Oktoba 2027 | usalama pekee |
| 3.12 | Oktoba 2023 | Oktoba 2028 | usalama pekee |
| 3.13 | Oktoba 2024 | Oktoba 2029 | marekebisho ya hitilafu |
| 3.14 | Oktoba 2025 | Oktoba 2030 | marekebisho ya hitilafu |
| 3.15 | Oktoba 2026 | Oktoba 2031 | mpya kabisa |
Hali ya sasa ya kila tawi inachapishwa kwenye ukurasa wa Status of Python versions katika Python Developer's Guide. Kabla ya kuchagua toleo kwa mradi wa muda mrefu, inafaa kuangalia huko.
Ni toleo gani la Python la kusakinisha
Kwa kujifunza na miradi mipya — toleo la hivi karibuni thabiti, sasa hivi ni Python 3.15. Hoja ya «nitachukua 3.10 iliyothibitishwa» haifai: mwezi Oktoba 2026 inaacha hata kupokea marekebisho ya usalama, na kujifunza lugha kwa toleo linalotoka kunamaanisha kujifunza upya baadaye. Ndani ya Python 3 upatanifu ni mzuri: msimbo wa toleo la zamani karibu daima unaendeshwa kwenye jipya, lakini si kinyume chake.
Kuna tofauti. Ikiwa maktaba unayohitaji bado haijatoa wheels za toleo jipya (hutokea wiki za kwanza baada ya toleo la Oktoba kwa vifurushi vyenye viendelezi vya C), chukua lililotangulia — 3.14. Kwenye seva ya muda mrefu, fuata toleo kutoka kwenye hazina za usambazaji wa mfumo au usakinishe toleo unalohitaji kupitia uv. Kanuni kuu: usichague toleo ambalo muda wa msaada wake uliobaki ni chini ya mwaka mmoja.
| Hali | Kisakinishe nini |
|---|---|
| Unajifunza lugha kuanzia mwanzo | toleo la hivi karibuni thabiti (3.15) |
| Mradi mpya | la hivi karibuni au la kabla yake |
| Maktaba haisaidii kipengele kipya | toleo dogo lililotangulia |
| Mradi wa zamani wa 3.10 au chini yake | panga kuhamia toleo linalosaidiwa |
| Msimbo wa Python 2 | uhamishe kwenda Python 3 |
Jinsi ya kujua toleo la Python
Kwenye terminal amri moja inatosha. Kwenye macOS na Linux kwa kawaida hutumika python3, na kwenye Windows — python au launcher py.
$ python3 --version
Python 3.12.3 # toleo la zamani — wakati wa kusasisha
$ python3 -V
Python 3.15.0
Kwenye Windows launcher inaonyesha matoleo yote yaliyosakinishwa kwa pamoja, na uv inaonyesha matoleo inayoyaona na inayoweza kuyasakinisha:
py --list
uv python list
Ndani ya programu toleo linapatikana kupitia moduli sys. Tuple sys.version_info ni rahisi kulinganisha, ili script yenyewe ijikague kama mkalimani unaofaa:
import sys
print(sys.version) # mstari kamili wenye tarehe ya ujenzi
print(sys.version_info[:3]) # kwa mfano (3, 15, 0)
if sys.version_info < (3, 10):
raise SystemExit("Inahitaji Python 3.10 au mpya zaidi")
Ikiwa python3 --version inaonyesha toleo usilolisakinisha, inamaanisha mkalimani mwingine ndio wa kwanza katika PATH. Ili kujua ni upi, tumia which python3 kwenye macOS na Linux, au where python kwenye Windows.
Matoleo kadhaa kwenye kompyuta moja
Kuwa na 3.13 na 3.15 kando kwa kando ni jambo la kawaida: kila moja inasakinishwa kwenye folda yake. Njia rahisi zaidi ya kuzisimamia ni uv: uv python install 3.15 inapakua toleo, na uv python pin 3.15 inalifunga kwenye mradi kwenye faili la .python-version. Python ya mfumo kwenye Linux ni bora isiguswe wala kusasishwa kwa mkono — zana za OS zinaitegemea.
Toleo la chini kabisa la mradi linawekwa kwenye pyproject.toml, kwenye uwanja wa requires-python. Hivyo kisakinishi cha vifurushi hakitaruhusu kusakinisha mradi kwenye mkalimani usiofaa.
[project]
name = "expenses"
version = "0.1.0"
requires-python = ">=3.15"
Hitimisho
Matoleo ya sasa ya Python ni tawi la 3, na la hivi karibuni ni 3.15 pamoja na lazy import, frozendict na UTF-8 kwa chaguo-msingi. Python 2 iliisha mwaka 2020, 3.10 inaacha msaada Oktoba 2026, kwa hiyo kujifunza na kuanzisha miradi kunafaa kufanyika kwenye toleo jipya. Kuangalia toleo lako — python3 --version. Katika kozi kila mada inamalizika na kizuizi cha «Kipya katika 3.10–3.15», hivyo mabadiliko ya matoleo yanafafanuliwa kwa vitendo.
Maswali ya mara kwa mara
IDLE Python 3.10 64-bit ni nini kwenye menyu ya Start?
Ni mazingira rahisi ya kuandika programu yanayosakinishwa na kisakinishi cha python.org; jina linaonyesha toleo la mkalimani na biti. Ikiwa ni 3.10, una toleo ambalo msaada wake unakaribia kuisha — ni vyema kusakinisha jipya.
Je, ninaweza kusasisha Python 3.12 hadi 3.15 juu ya ile ya zamani?
Matoleo madogo husakinishwa kando kwa kando, si juu ya kila jingine: baada ya kusakinisha 3.15, ile ya zamani inabaki, na unaweza kuiondoa tofauti. Maktaba za toleo jipya zinapaswa kusakinishwa upya, au mazingira pepe yaundwe upya.
Kuna tofauti gani kati ya toleo la 64-bit na 32-bit?
Toleo la 64-bit linaweza kutumia kumbukumbu zaidi na linafaa kwa kompyuta zote za kisasa; la 32-bit huchaguliwa tu kwa mifumo ya zamani sana.
Matoleo ya alpha na beta ni nini?
Ni matoleo ya awali ya toleo lijalo kwa ajili ya kujaribu maktaba na miradi; kwa kujifunza na kazi sakinisha matoleo ya mwisho thabiti pekee.
Mada hii inafundishwa kwa kina pamoja na mazoezi katika kozi “Python 3.15: от новичка до профи”.
Nenda kwenye kozi