Siideynta luuqada barnaamijka Python 3.8

Hal sano iyo badh ka dib korriin soo bandhigay siidaynta luuqada barmaamijka weyn Python 3.8. Cusboonaysiinta saxda ah ee laanta Python 3.8 qorsheeyey lagu sii daayo 18 bilood gudahood. Nuglaanta halista ah waxaa la hagaajin doonaa 5 sano ilaa Oktoobar 2024. Cusbooneysiinta saxda ah ee laanta 3.8 ayaa la sii deyn doonaa labadii biloodba mar, iyadoo siideynta ugu horreysa ee sixitaanka ee Python 3.8.1 loo qorsheeyay Disembar.

Waxaa ka mid ahaa wax cusub:

  • taageero hawlgallada meelaynta gudaha tibaaxo adag. Hawlwadeenka cusub ee ":=", waxa suurtogal ah in lagu sameeyo hawlo ku meelaynta qiimaha gudaha tibaaxaha kale, tusaale ahaan, si looga fogaado wicitaanada labanlaabka ah ee ku jira odhaah shuruudaysan iyo marka la qeexayo wareegyada:

    haddii (n:= len(a)) > 10:
    ...

    halka (block:= f.akhri(256)) != ":
    ...

  • taageero syntax cusub oo lagu qeexayo doodaha shaqada. Markaad tirisid doodaha inta lagu jiro qeexida shaqada, waxaad hadda qeexi kartaa "/" si aad u kala saarto doodaha kaliya ee loo qoondeyn karo qiyamka iyadoo lagu saleynayo habka ay qiyamka loo tiriyey inta lagu jiro wicitaanka shaqada, laga bilaabo doodaha loo qoondeyn karo siday doontaba ha ahaatee Dhinaca wax ku oolka ah, qaabka cusubi wuxuu u oggolaanayaa hawlaha Python inay si buuxda ugu daydaan habdhaqanka hawlaha jira ee C, iyo sidoo kale in laga fogaado ku-xidhka magacyo gaar ah, tusaale ahaan, haddii magaca cabbirka la qorsheeyay in la beddelo mustaqbalka.

    Calanku β€œ/” waxa uu dhamaystirayaa calankii hore ee lagu daray β€œ*”, isaga oo kala saaraya doorsoomayaasha kuwaas oo kaliya hawsha qaabka β€œvariable=value” lagu dabaqi karo. Tusaale ahaan, shaqada "def f (a, b, /, c, d, *, e, f):" doorsoomayaasha "a" iyo "b" waxa kaliya oo lagu meelayn karaa sida ay qiyamka u qoran yihiin. ,
    doorsoomayaasha "e" iyo "f", kaliya iyada oo loo marayo shaqada "variable=value", iyo doorsoomayaasha "c" iyo "d" mid ka mid ah siyaabaha soo socda:

    f (10, 20, 30, 40, e=50, f=60)
    f (10, 20, s=30, d=40, e=50, f=60)

  • Lagu daray C API cusub
    si loo habeeyo cabbirada bilowga Python, taasoo u oggolaanaysa in si buuxda loo xakameeyo dhammaan habaynta iyo bixinta tas-hiilaadka maaraynta khaladaadka horumarsan. API-ga la soo jeediyay ayaa fududeynaya in lagu dhex geliyo shaqada turjubaanka Python codsiyada kale ee C;

  • La fuliyay hab-maamuuska cusub ee Vectorcall ee helitaanka degdega ah ee walxaha ku qoran luqadda C. Gudaha CPython 3.8, gelitaanka Vectorcall ayaa wali ku xaddidan isticmaalka gudaha; u wareejinta qaybta API-yada si guud loo heli karo waxaa lagu qorsheeyay CPython 3.9;
  • Lagu daray wicitaanada Runtime Audit Hooks, kuwaas oo bixiya codsiyada iyo qaab-dhismeedka Python si ay u helaan macluumaad heer hoose ah oo ku saabsan horumarka qoraalka si loo xisaabiyo ficilada la sameeyay (tusaale, waxaad la socon kartaa soo dejinta modules, furitaanka faylasha, adoo isticmaalaya raad, gelitaanka saldhigyada shabakada, ku socodsiinta code iyada oo loo marayo exec, eval iyo run_mod);
  • In moduleka qajaar la siiyay taageerada hab-maamuuska Pickle 5, oo loo isticmaalo kala-saarista iyo kala-saarista walxaha. Pickle wuxuu kuu oggolaanayaa inaad kor u qaaddo kala iibsiga xaddi badan oo xog ah oo u dhexeeya hababka Python ee isku xidhka badan iyo qaabaynta qanjidhada badan adoo yaraynaya tirada hawlgallada nuqulka xusuusta iyo adeegsiga farsamooyinka hagaajinta dheeraadka ah sida adeegsiga algorithms-gaab xogta gaarka ah. Nooca shanaad ee borotokoolka ayaa caan ku ah kordhinta habka gudbinta ka baxsan band, kaas oo xogta si gaar ah loogu gudbin karo qulqulka qajaarka ee ugu weyn.
  • Sida caadiga ah, nooca afraad ee borotokoolka Pickle waa la hawlgeliyay, kaas oo, marka la barbar dhigo nooca saddexaad ee hore loo soo bandhigay, u oggolaanaya waxqabad sare iyo hoos u dhigista cabbirka xogta la kala qaado;
  • In moduleka qorista Dhowr astaamood oo cusub ayaa la soo bandhigay:
    • Класс TypedDict isku xidhka isku xidhka kaas oo macluumaadka nooca si cad loogu cayimay xogta la xidhiidha furayaasha ("TypedDict('Point2D', x=int, y=int, label=str)").
    • Nooca Literal, kaas oo kuu ogolaanaya inaad xaddido halbeeg ama ku celiso qiyamka dhawrka qiime ee hore loo sii qeexay ("Literal['connected', 'disconnected']").
    • Naqshad"final", taas oo suurtogal ka dhigaysa in la qeexo qiyamka doorsoomayaasha, hawlaha, hababka iyo fasalada aan la bedeli karin ama dib loo habeyn karin ("pi: Final[float] = 3.1415926536").
  • Waxaa lagu daray awoodda lagu meeleeyo kaydka faylalka la soo ururiyey ee leh bytecode, lagu kaydiyay geed FS gaar ah oo laga soocay hagayaasha leh koodka. Jidka lagu kaydiyo faylasha bytecode waxa lagu dejiyay doorsoome PYTHONPYCACHEPREFIX ama ikhtiyaarka "-X pycache_prefix";
  • La fuliyay Awoodda lagu abuuro dhismooyinka debug ee Python oo isticmaala ABI oo la mid ah sii deynta, taas oo kuu ogolaanaysa inaad ku shubto kordhinta ku qoran luqadda SI, oo loo soo ururiyey siideynta xasilloon, dhismooyinka debug;
  • f-strings (qoraal habaysan oo horgale 'f') ayaa taageero siiya = hawlwadeenka (tusaale, "f'{expr=}'"), kaas oo kuu ogolaanaya inaad u beddesho odhaah qoraal si ay u sahlanaato khaladka. Tusaale ahaan:

    β€Ίβ€Ί isticmaale = 'eric_idle'
    β€Ίβ€Ί xubin_ilaa = taariikhda (1975, 7, 31)
    β€Ίβ€Ί f'{user=} {xubin_ilaa=}'
    "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

  • Oraah "siiΒ» loo ogol yahay in lagu isticmaalo gudaha block ugu dambeyntii;
  • Module cusub ayaa lagu daray multiprocessing.shared_memory, Oggolaanshaha isticmaalka qaybaha xusuusta la wadaago ee habaynta nidaamka badan;
  • Barta Windows-ka, hirgelinta asyncio waa loo raray si loo isticmaalo fasalka ProactorEventLoop;
  • Waxqabadka LOAD_GLOBAL ee tilmaamaha ayaa la kordhiyey ku dhawaad ​​40% iyadoo ay ugu wacan tahay adeegsiga habka cusub ee koodka shayga.

Source: opennet.ru

Add a comment