Misingi

Matoleo ya Python: Python 2 na 3, kipya katika 3.10–3.15 na toleo gani la kusakinisha

Imesasishwa: · Skillaria.Top

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.

KipengelePython 2Python 3
Kuchapishaprint "hi" — kauliprint("hi") — kazi
Nyuzibaiti kwa chaguo-msingi, Unicode — u"..."str — daima Unicode, baiti — bytes
Kugawanya7 / 2 inatoa 37 / 2 inatoa 3.5, nambari nzima — 7 // 2
Kuingizaraw_input()input()
Safu za nambarange inajenga orodha, xrange ni ya uvivurange ni ya uvivu
Msaadahakuna tangu 2020toleo 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 ya if/elif.
  • Muungano wa aina kwa mstari wima: int | None badala ya Optional[int] (PEP 604).
  • Meneja kadhaa wa muktadha ndani ya mabano katika with moja.
  • 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 kupitia add_note().
  • Moduli tomllib ya kusoma TOML — kwa mfano pyproject.toml.

Python 3.12 (Oktoba 2023)

  • Sintaksia mpya ya jumla (generics): def first[T](items: list[T]) -> T na kauli type kwa 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 distutils kimeondolewa 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 exit na help bila mabano.
  • Muundo wa majaribio usio na GIL (free-threaded, PEP 703) na kikusanyaji cha JIT cha majaribio (PEP 744).
  • Moduli za zamani zisizotumika — kama cgi na telnetlib — 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, na except 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 yenye lazy import pandas yalianza kwa 14 ms badala ya 280 ms.
  • Kamusi isiyobadilika frozendict ndani 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.

ToleoKutokaMwisho wa msaadaHali Oktoba 2026
2.72010Januari 2020haisaidiwi
3.9Oktoba 2020Oktoba 2025haisaidiwi
3.10Oktoba 2021Oktoba 2026msaada unamalizika
3.11Oktoba 2022Oktoba 2027usalama pekee
3.12Oktoba 2023Oktoba 2028usalama pekee
3.13Oktoba 2024Oktoba 2029marekebisho ya hitilafu
3.14Oktoba 2025Oktoba 2030marekebisho ya hitilafu
3.15Oktoba 2026Oktoba 2031mpya 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.

HaliKisakinishe nini
Unajifunza lugha kuanzia mwanzotoleo la hivi karibuni thabiti (3.15)
Mradi mpyala hivi karibuni au la kabla yake
Maktaba haisaidii kipengele kipyatoleo dogo lililotangulia
Mradi wa zamani wa 3.10 au chini yakepanga kuhamia toleo linalosaidiwa
Msimbo wa Python 2uhamishe 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.

Jifunze mada hii kwa video

Mada hii inafundishwa kwa kina pamoja na mazoezi katika kozi “Python 3.15: от новичка до профи”.

Nenda kwenye kozi