Versi stabil baru Python 3.12 tiba dan ini adalah ciri baharunya

Logo Python

Python ialah bahasa pengaturcaraan peringkat tinggi.

Setelah setahun pembangunan, Pengeluaran versi stabil diumumkan dan juga permulaan fasa ujian alfa bahasa pengaturcaraan Python 3.12 dan Python 3.13 (masing-masing). Disebutkan bahawa cawangan baharu Python 3.12 ini akan disokong selama satu setengah tahun, selepas itu, selama tiga setengah tahun lagi, pembaikan akan dijana untuk menghapuskan kelemahan.

Versi baharu Python 3.12 yang dibentangkan datang dengan penambahbaikan dalam fleksibiliti analisis rentetan f. Dengan peningkatan ini sekarang banyak sekatan boleh diketepikan, kerana sebagai contoh, anda kini boleh mengandungi sebarang ungkapan yang sah dalam Python, termasuk ungkapan berbilang baris, ulasan, garis miring ke belakang dan urutan melarikan diri Unicode. Selain itu, rentetan dalaman kini membenarkan penggunaan semula petikan yang sama iaitu petikan berganda kini boleh digunakan semula di dalam tanpa perlu menukar kepada petikan tunggal.

Sebagai contoh :

f"""{f'''{f'{f"{1+1}"}'}'''}"""

Kini boleh bersarang sewenang-wenangnya:

f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"

Satu lagi perubahan yang menonjol adalah sokongan untuk subtafsir terpencil dan kunci global yang berasingan, yang bertujuan untuk meningkatkan kecekapan penggunaan sumber dalam sistem berbilang teras, kerana untuk jurubahasa yang berbeza dalam proses CPython membenarkan beberapa jurubahasa berjalan pada masa yang sama dalam proses. Seperti sedia ada, ciri ini pada masa ini hanya tersedia melalui C-API (sokongan API Python akan muncul di cawangan utama seterusnya).

Di samping itu, ia juga diserlahkanKandungan bermaklumat mesej ralat telah ditingkatkan dan julat pengecualian telah diperluaskan, menawarkan pengesyoran untuk menghapuskan ralat tipografi. Sebagai contoh, cadangan untuk mengimport modul perpustakaan standard yang terlupa dan cadangan untuk memberi awalan "diri" kini dipaparkan.

Menambah keupayaan untuk menggunakan protokol penimbal dalam kod Python. Kelas yang menyediakan kaedah "__buffer__()" kini boleh digunakan sebagai jenis yang beroperasi secara langsung pada data binari dalam ingatan.

Modul ini sys.monitoring dicadangkan untuk penyahpepijatan dan pemprofilan, membolehkan anda memantau acara dalam CPython seperti panggilan, pengembalian fungsi, pelaksanaan baris kod sewenang-wenangnya, pengecualian dan peralihan dengan overhed minimum.

Jurubahasa melaksanakan sokongan untuk subsistem prestasi kernel Linux, yang membolehkan nama fungsi Python ditentukan apabila membuat profil menggunakan utiliti prestasi (sebelum ini, hanya nama fungsi C ditentukan dalam jejak).

Mengenai peningkatan prestasi, disebutkan bahawa pengoptimuman diteruskan, dengan yang Jumlah keuntungan prestasi dianggarkan sebanyak 5% telah diperolehi., ia turut ditambah sokongan percubaan untuk pengoptimum binari BOLT kepada proses binaan, meningkatkan prestasi sebanyak 1-5%, manakala prestasi pakej asyncio telah meningkat dengan ketara (sesetengah ujian menunjukkan kelajuan 75%).

Peluasan sebaris bagi pemahaman senarai telah dilaksanakan, yang mempercepatkan kerja dengan pemahaman senarai sehingga dua kali (untuk kod yang secara aktif menggunakan pemahaman senarai, ujian menunjukkan peningkatan prestasi keseluruhan sebanyak 11%).

Untuk meningkatkan keselamatan, pelaksanaan terbina dalam Algoritma SHA1, SHA3, SHA2-384, SHA2-512 dan MD5 dalam hashlib telah diganti dengan pilihan yang disahkan secara rasmi daripada projek HACL* (pelaksanaan terbina dalam digunakan hanya jika OpenSSL tidak tersedia).

Daripada perubahan lain yang menonjol:

  • Modul ini telah mengembangkan sokongan untuk Windows.
  • Python melaksanakan perlindungan limpahan tindanan.
    Penciptaan kelas asyncio.Task telah dipercepatkan.
  • Saiz objek Unicode telah dikurangkan sebanyak 8 hingga 16 bait.
  • Operasi dengan ungkapan biasa re.sub(), re.subn() dan re.Pattern telah dipercepatkan.
  • Menjalankan semakan isinstance() untuk beberapa protokol telah dipercepatkan sebanyak 2 hingga 20 kali.
  • Secara ketara (dalam beberapa ujian sehingga 64%) fungsi tokenize.tokenize() dan tokenize.generate_tokens() telah dipercepatkan.
  • Memuatkan atribut dan memanggil kaedah super() telah dipercepatkan.
  • Sintaks anotasi jenis baharu yang lebih padat telah dicadangkan untuk kelas dan fungsi generik.
  • Modul penyemak imbas web tidak lagi menyokong pelayar lama termasuk Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird dan Firefox sehingga versi 36.
  • Sebagai persediaan untuk pengoptimuman masa hadapan, perwakilan dalaman integer telah diubah.

Akhir sekali, seperti yang dinyatakan, ujian alfa Python 3.13 telah bermula, di mana mod kompilasi muncul CPython tanpa kunci penterjemah global (GIL, Kunci Jurubahasa Global).

Cawangan Python 3.13 akan berada dalam alpha selama tujuh bulan, di mana ciri baharu akan ditambah dan pepijat dibetulkan mengikut jadual pembangunan baharu, kerja pada cawangan baharu bermula lima bulan sebelum keluaran cawangan sebelumnya dan pada masa versi seterusnya mencapai tahap ujian alfa.

Selepas ini, versi beta akan diuji selama tiga bulan, di mana penambahan ciri baharu akan dilarang dan semua perhatian akan diberikan untuk membetulkan pepijat. Dalam tempoh dua bulan terakhir sebelum keluaran, cawangan akan berada di peringkat calon keluaran, di mana penstabilan akhir akan berlaku.

Akhirnya ya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan berikut.