Sawise setahun lan setengah pembangunan diwenehi release basa pemrograman utama Python 3.8. Nganyari korektif kanggo Python 3.8 cabang direncanakake release ing 18 sasi. Kerentanan kritis bakal didandani suwene 5 taun nganti Oktober 2024. Nganyari korektif kanggo cabang 3.8 bakal dirilis saben rong sasi, karo release mbenakake pisanan Python 3.8.1 dijadwal kanggo Desember.
support operasi penugasan ing ekspresi kompleks. Kanthi operator ": =" anyar, sampeyan bisa nindakake operasi penugasan nilai ing ekspresi liyane, contone, kanggo ngindhari panggilan fungsi ganda ing pernyataan kondisional lan nalika nemtokake puteran:
yen (n:= len(a)) > 10:
...
while (blok := f.read(256)) !=":
...
support sintaks anyar kanggo nemtokake argumen fungsi. Nalika ngetung argumen sajrone definisi fungsi, sampeyan saiki bisa nemtokake "/" kanggo misahake argumen sing mung bisa diwenehi nilai adhedhasar urutan nilai kasebut sajrone panggilan fungsi, saka argumen sing bisa ditugasake. ing urutan apa wae (variabel = sintaks nilai) ). Ing sisih praktis, fitur anyar ngidini fungsi ing Python kanggo rampung emulate prilaku fungsi ana ing C, lan uga supaya ora naleni jeneng tartamtu, Contone, yen jeneng parameter wis ngrancang bakal diganti ing mangsa.
Dilaksanakake protokol Vectorcall anyar kanggo akses luwih cepet kanggo obyek ditulis ing basa C. Ing CPython 3.8, akses menyang Vectorcall isih diwatesi kanggo panggunaan internal; transfer menyang kategori API sing bisa diakses umum direncanakake ing CPython 3.9;
Ditambahake telpon kanggo Runtime Audit pancing, kang nyedhiyani aplikasi lan frameworks ing Python karo akses kanggo informasi tingkat kurang bab kemajuan saka script kanggo audit tumindak dileksanakake (Contone, sampeyan bisa nglacak ngimpor modul, mbukak file, nggunakake tilak, ngakses soket jaringan, kode mlaku liwat exec, eval lan run_mod);
Kanthi gawan, versi papat protokol Pickle diaktifake, sing, dibandhingake karo versi katelu sing sadurunge ditawakake kanthi standar, ngidini kinerja sing luwih dhuwur lan nyuda ukuran data sing dikirim;
ΠΠ»Π°ΡΡ TypedDict kanggo larik asosiatif kang informasi jinis ditetepake kanthi tegas kanggo data sing digandhengake karo tombol ("TypedDict('Point2D', x=int, y=int, label=str)β).
Gaya Literal, sing ngidini sampeyan mbatesi parameter utawa ngasilake nilai menyang sawetara nilai sing wis ditemtokake ("Literal ['disambungake', 'pedhot']").
Konstruksi"final", sing ndadekake bisa nemtokake nilai variabel, fungsi, metode lan kelas sing ora bisa diganti utawa ditugasake maneh ("pi: Final [float] = 3.1415926536").
Nambahake kemampuan kanggo nemtokake cache kanggo file sing dikompilasi kanthi bytecode, disimpen ing wit FS sing kapisah lan dipisahake saka direktori kanthi kode kasebut. Path kanggo nyimpen file kanthi bytecode disetel liwat variabel PYTHONPYCACHEPREFIX utawa pilihan "-X pycache_prefix";
Dilaksanakake kemampuan kanggo nggawe debug mbangun Python sing nggunakake ABI podho rupo release, sing ngijini sampeyan kanggo mbukak ekstensi ditulis ing basa SI, nyawiji kanggo rilis stabil, ing debug mbangun;
f-strings (huruf format sing diawali karo 'f') nyedhiyakake dhukungan kanggo operator = (contone, "f'{expr=}'"), sing ngidini sampeyan ngowahi ekspresi dadi teks supaya gampang debugging. Tuladhane: