Scaoileadh teanga cláir Python 3.8

Tar éis bliain go leith d'fhorbairt curtha i láthair móreisiúint teanga cláir Python 3.8. Nuashonruithe ceartaitheacha do bhrainse Python 3.8 pleanáilte scaoileadh laistigh de 18 mí. Socrófar leochaileachtaí ríthábhachtacha ar feadh 5 bliana go dtí Deireadh Fómhair 2024. Déanfar nuashonruithe ceartaitheacha don bhrainse 3.8 a scaoileadh gach dhá mhí, agus an chéad scaoileadh ceartaitheacha de Python 3.8.1 sceidealta do mhí na Nollag.

I measc na breise nuálaíochtaí:

  • Tacaíocht oibríochtaí sannadh laistigh de nathanna casta. Leis an oibreoir nua “:=”, is féidir oibríochtaí sannadh luacha a dhéanamh taobh istigh de shloinnte eile, mar shampla, chun glaonna feidhm dhúbailte i ráitis choinníollacha a sheachaint agus nuair a bhíonn lúba á sainiú:

    má (n := len(a)) > 10:
    ...

    cé go (bloc := f.read(256)) != " :
    ...

  • Tacaíocht comhréir nua chun argóintí feidhme a shonrú. Nuair a bhíonn argóintí á n-áireamh le linn sainmhíniú feidhme, is féidir leat "/" a shonrú anois chun argóintí a scaradh nach féidir ach luachanna a shannadh dóibh bunaithe ar an ord ina n-áirítear na luachanna le linn an ghlao feidhme, ó argóintí is féidir a shannadh in aon ord ( comhréir athraitheach = luach ) ). Ar an taobh praiticiúil, ceadaíonn an ghné nua feidhmeanna i Python chun aithris a dhéanamh go hiomlán ar iompar na bhfeidhmeanna atá ann cheana féin i C, agus freisin chun ceangal le hainmneacha sonracha a sheachaint, mar shampla, má tá sé beartaithe an t-ainm paraiméadar a athrú sa todhchaí.

    Comhlánaíonn an bhratach “/” an bhratach “*” a cuireadh leis roimhe seo, ag scaradh athróga nach bhfuil ach tasc san fhoirm “athraitheach = luach” infheidhme ina leith. Mar shampla, san fheidhm "def f(a, b, /, c, d, *, e, f):" ní féidir na hathróga "a" agus "b" a shannadh ach san ord ina bhfuil na luachanna liostaithe ,
    athróga “e” agus “f”, tríd an tasc “athraitheach=luach” amháin, agus athróga “c” agus “d” ar aon cheann de na bealaí seo a leanas:

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

  • Curtha leis C API nua
    paraiméadair thúsaithe Python a chumrú, rud a cheadaíonn smacht iomlán ar gach rud cumraíocht agus ard-áiseanna láimhseála earráidí a sholáthar. Déanann an API molta feidhmiúlacht ateangaire Python a leabú in iarratais C eile;

  • Curtha i bhfeidhm prótacal nua Vectorcall le haghaidh rochtain níos tapúla ar réada scríofa i dteanga C. In CPython 3.8, tá rochtain ar Vectorcall fós teoranta d’úsáid inmheánach;
  • Curtha leis glaonna chuig Runtime Audit Hooks, a sholáthraíonn feidhmchláir agus creataí i Python le rochtain ar fhaisnéis ísealleibhéil faoi dhul chun cinn na scripte chun na gníomhartha a dhéantar a iniúchadh (mar shampla, is féidir leat allmhairiú modúil a rianú, comhaid a oscailt, ag baint úsáide as rian, rochtain a fháil ar shoicéid líonra, cód a rith trí exec, eval agus run_mod);
  • Sa mhodúl pickle daingnithe tacaíocht do phrótacal Pickle 5, a úsáidtear chun rudaí a shraithiú agus a dhíscriú. Ligeann Pickle duit aistriú méideanna móra sonraí idir próisis Python i bhfoirmíochtaí illárnacha agus il-nód a bharrfheabhsú trí líon na n-oibríochtaí cóipe cuimhne a laghdú agus teicnící leas iomlán a bhaint as breise a chur i bhfeidhm, mar shampla halgartaim comhbhrú sonraí-shonracha a úsáid. Tá an cúigiú leagan den phrótacal suntasach maidir le modh tarchurtha lasmuigh den bhanna a chur leis, inar féidir sonraí a tharchur ar leithligh ón bpríomhshruth picilte.
  • De réir réamhshocraithe, cuirtear an ceathrú leagan den phrótacal Pickle i ngníomh, rud a cheadaíonn, i gcomparáid leis an tríú leagan a thairgtear roimhe seo de réir réamhshocraithe, feidhmíocht níos airde agus laghdú ar mhéid na sonraí tarchurtha;
  • Sa mhodúl clóscríobh Tugtar isteach roinnt gnéithe nua:
    • Rang TypedDict le haghaidh eagair chomhthiomsaithe ina sonraítear faisnéis cineáil go sainráite do na sonraí a bhaineann leis na heochracha ("TypedDict('Point2D', x=int, y=int, label=str)").
    • Cineál Liteartha, a ligeann duit paraiméadar nó luach ar ais a theorannú go cúpla luach réamhshainithe ("Litreal ['ceangailte', 'dícheangailte']").
    • Tógáil "Deiridh", rud a fhágann gur féidir luachanna na n-athróg, na bhfeidhmeanna, na modhanna agus na n-aicmí a shainiú nach féidir a athrú nó a athshannadh ("pi: Final[float] = 3.1415926536").
  • Cuireadh leis an gcumas taisce a shannadh do chomhaid tiomsaithe le bytecode, a shábháil i gcrann FS ar leith agus a scaradh ó na heolairí leis an gcód. Socraítear an cosán chun comhaid a shábháil le bytecode trí athróg PYTHONPYCACHEPREFIX nó an rogha "-X pycache_prefix";
  • Curtha i bhfeidhm an cumas tógálacha dífhabhtaithe de Python a chruthú a úsáideann ABI comhionann leis an scaoileadh, a cheadaíonn duit síntí scríofa i dteanga IR, tiomsaithe le haghaidh eisiúintí cobhsaí, a luchtú i dtógáil dífhabhtaithe;
  • Soláthraíonn f-teaghráin (litreacha formáidithe arna réamhshocrú le 'f') tacaíocht don oibreoir = (mar shampla, "f'{expr=}'"), a ligeann duit slonn a thiontú go téacs le haghaidh dífhabhtaithe níos éasca. Mar shampla:

    ››› úsáideoir = 'eric_idle'
    ››› ball_since = dáta(1975, 7, 31)
    ››› f'{user=} {member_since=}'
    "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

  • Slonn "leanúint ar aghaidh» cead a úsáid taobh istigh de bhloc ar deireadh;
  • Modúl nua curtha leis multiprocessing.shared_memory, a cheadaíonn deighleoga cuimhne roinnte a úsáid i bhfoirmíochtaí ilphróisis;
  • Ar ardán Windows, aistríodh an cur i bhfeidhm asyncio chun an rang a úsáid ProactorEventLoop;
  • Méadaíodh feidhmíocht an teagaisc LOAD_GLOBAL de thart ar 40% mar gheall ar úsáid meicníochta nua um thaisceadh cód oibiachta.

Foinse: oscailtenet.ru

Add a comment