Sgaoileadh cànan prògramadh Python 3.8

Às deidh bliadhna gu leth de leasachadh air a thaisbeanadh prìomh sgaoileadh cànain prògramaidh Python 3.8. Ùrachaidhean ceartachaidh airson meur Python 3.8 air a phlanadh leigeil ma sgaoil taobh a-staigh 18 mìosan. Bidh so-leòntachd èiginneach stèidhichte airson 5 bliadhna chun Dàmhair 2024. Thèid ùrachaidhean ceartachaidh airson meur 3.8 fhoillseachadh gach dà mhìos, leis a’ chiad fhoillseachadh ceartachaidh de Python 3.8.1 clàraichte airson an Dùbhlachd.

Am measg an fheadhainn a bharrachd innleachdan:

  • taic gnìomhan sònrachaidh taobh a-staigh abairtean iom-fhillte. Leis a’ ghnìomhaiche ùr “:=”, tha e comasach obair sònrachaidh luach a dhèanamh taobh a-staigh abairtean eile, mar eisimpleir, gus gairmean gnìomh dùbailte a sheachnadh ann an aithrisean cumhach agus nuair a thathar a’ mìneachadh lùban:

    ma tha (n := len(a)) > 10:
    ...

    fhad 's a tha (bloc := f.read(256)) != " :
    ...

  • taic co-chòrdadh ùr airson argamaidean gnìomh a shònrachadh. Nuair a bhios tu ag àireamhachadh argamaidean rè mìneachadh gnìomh, faodaidh tu a-nis "/" a shònrachadh gus argamaidean a sgaradh nach urrainnear ach luachan a shònrachadh stèidhichte air an òrdugh anns a bheil na luachan air an àireamhachadh rè gairm gnìomh, bho argamaidean a dh'fhaodar a shònrachadh ann an òrdugh sam bith (caochlaideach = co-chòrdadh luach) ). Air an taobh phractaigeach, tha am feart ùr a’ leigeil le gnìomhan ann am Python atharrais gu tur air giùlan nan gnìomhan a th’ ann mar-thà ann an C, agus cuideachd gus ceangal ri ainmean sònraichte a sheachnadh, mar eisimpleir, ma thathar an dùil an t-ainm paramadair atharrachadh san àm ri teachd.

    Tha a’ bhratach “/” a’ cur ris a’ bhratach “*” a chaidh a chur ris roimhe, a’ sgaradh caochladairean air nach eil ach sònrachadh san fhoirm “caochlaideach = luach” iomchaidh. Mar eisimpleir, anns a 'ghnìomh "def f (a, b, /, c, d, *, e, f):" chan urrainnear na caochladairean "a" agus "b" a shònrachadh ach san òrdugh a tha na luachan air an liostadh ,
    caochladairean “e” agus “f”, dìreach tron ​​​​t-sònrachadh “caochlaideach = luach”, agus caochladairean “c” agus “d” ann an gin de na dòighean a leanas:

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

  • Air a chur ris C API ùr
    gus paramadairean tòiseachaidh Python a rèiteachadh, a’ ceadachadh smachd iomlan air a h-uile càil rèiteachadh agus a’ toirt seachad goireasan làimhseachaidh mhearachdan adhartach. Tha an API a thathar a’ moladh ga dhèanamh furasta gnìomhachd eadar-mhìneachaidh Python fhighe a-steach do thagraidhean C eile;

  • Air a chur an gnìomh protocol Vectorcall ùr airson ruigsinneachd nas luaithe air nithean sgrìobhte ann an cànan C. Ann an CPython 3.8, tha ruigsinneachd air Vectorcall fhathast cuingealaichte ri cleachdadh a-staigh; thathar an dùil gluasad chun roinn de APIan ruigsinneach don phoball ann an CPython 3.9;
  • Air a chur ris fiosan gu Runtime Audit Hooks, a bheir cothrom do thagraidhean agus frèaman ann am Python air fiosrachadh ìre ìosal mu adhartas an sgriobt gus na gnìomhan a chaidh a choileanadh a sgrùdadh (mar eisimpleir, is urrainn dhut sùil a chumail air in-mhalairt mhodalan, fosgladh fhaidhlichean, a’ cleachdadh lorg, faighinn gu socaidean lìonra, còd ruith tro exec, eval agus run_mod);
  • Anns a 'mhodal picil tèarainte taic do phròtacal Pickle 5, air a chleachdadh airson nithean a chur ann an sreath agus a thoirt air falbh. Leigidh Pickle leat gluasad mòr de dhàta a dhèanamh eadar pròiseasan Python ann an rèiteachaidhean ioma-cridhe agus ioma-nòd le bhith a’ lughdachadh na h-àireamh de dh’ obair leth-bhreac cuimhne agus a’ cleachdadh dhòighean optimization a bharrachd leithid a bhith a’ cleachdadh algoirmean teannachaidh a tha sònraichte do dhàta. Tha an còigeamh dreach den phròtacal sònraichte airson modh tar-chuir taobh a-muigh a’ chòmhlain a chuir ris, anns am faodar dàta a chuir air leth bhon phrìomh shruth picil.
  • Gu gnàthach, tha an ceathramh dreach den phròtacal Pickle air a chuir an gnìomh, a tha, an taca ris an treas dreach a chaidh a thabhann roimhe gu bunaiteach, a ’ceadachadh coileanadh nas àirde agus lughdachadh ann am meud dàta a chaidh a ghluasad;
  • Anns a 'mhodal teipidh Tha grunn fheartan ùra gan toirt a-steach:
    • Clas TypedDict airson arrays co-cheangail anns a bheil fiosrachadh seòrsa air a shònrachadh gu soilleir airson an dàta co-cheangailte ris na h-iuchraichean (“TypedDict (‘Point2D’, x = int, y = int, label = str)”).
    • Seòrsa Litreachail, a leigeas leat paramadair a chuingealachadh no luach tilleadh gu beagan luachan ro-mhìnichte ("Litreal ['ceangailte', 'dì-cheangail']").
    • dealbhadh"Final", a tha ga dhèanamh comasach luachan caochladairean, gnìomhan, modhan agus clasaichean a mhìneachadh nach gabh atharrachadh no ath-shònrachadh ("pi: Final[float] = 3.1415926536").
  • Chuir sinn ris a’ chomas tasgadan a shònrachadh airson faidhlichean cruinnichte le bytecode, air a shàbhaladh ann an craobh FS air leth agus air a sgaradh bho na clàran leis a’ chòd. Tha an t-slighe airson faidhlichean a shàbhaladh le bytecode air a shuidheachadh tro chaochladair PYTHONPYCACHEPREFIX no an roghainn "-X pycache_prefix";
  • Air a chur an gnìomh an comas togail deasbaid de Python a chruthachadh a bhios a’ cleachdadh ABI co-ionann ris an fhoillseachadh, a leigeas leat leudachaidhean sgrìobhte ann an cànan SI a luchdachadh, air an cur ri chèile airson fiosan seasmhach, ann an togail deasbaid;
  • Tha f-strings (litrichean cruth le ro-leasachan le 'f') a' toirt taic don ghnìomhaiche = (mar eisimpleir, "f'{expr=}'"), a leigeas leat abairt a thionndadh gu teacsa airson dì-bhugachadh nas fhasa. Mar eisimpleir:

    >> >> cleachdaiche = 'eric_idle'
    ››› ball_since = ceann-latha(1975, 7, 31)
    ››› f'{user=} {member_since=}'
    "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

  • Cur an cèill "leantainn air adhart» ceadaichte a chleachdadh am broinn bloca mu dheireadh thall;
  • Modal ùr air a chur ris multiprocessing.shared_memory, a’ ceadachadh earrannan cuimhne co-roinnte a chleachdadh ann an rèiteachadh ioma-phròiseas;
  • Air àrd-ùrlar Windows, chaidh buileachadh asyncio a ghluasad gus an clas a chleachdadh ProactorEventLoop;
  • Chaidh coileanadh an stiùiridh LOAD_GLOBAL àrdachadh le timcheall air 40% ri linn cleachdadh inneal tasgaidh còd nì ùr.

Source: fosgailtenet.ru

Cuir beachd ann