Pelajari tentang fitur menarik di Python 3.12 yang akan membuat hidup pengembang Anda lebih mudah.

Python berencana untuk merilis versi 3.12 bahasa tersebut pada Oktober 2023. Versi ini menghadirkan serangkaian fitur dan peningkatan yang mendebarkan. Tujuannya adalah untuk meningkatkan pengalaman pengkodean Anda dengan menawarkan platform yang lebih efisien dan kuat, memungkinkan Anda untuk meningkatkan keterampilan pengkodean Anda.

1. Pesan Kesalahan yang Disempurnakan

Python terus meningkatkan pesan kesalahannya dalam versi terbaru. Itu Rilis 3.11 memperkenalkan pesan kesalahan yang lebih akurat dengan menunjukkan posisi yang tepat dalam garis.

Python 3.12 membawa penyempurnaan ini ke level selanjutnya, dengan tambahan berikut:

  • Saran untuk modul yang hilang ("apakah Anda lupa mengimpor X?") sekarang mencakup modul dari pustaka standar.
  • Saran kesalahan yang ditingkatkan untuk kesalahan sintaksis umum yang terkait dengan impor. Misalnya, jika Anda punya impor p dari m dalam kode Anda, kesalahan akan menanyakan apakah Anda bermaksud menulis dari m impor p.
  • Kesalahan impor untuk modul tertentu kini menyertakan saran dari namespace modul yang diimpor.
  • NameError saran sekarang juga memasukkan diri sendiri ditambahkan ke nama saat dimunculkan dalam instance kelas. Misalnya, jika nama kecepatan tidak ditentukan, pesan kesalahan akan diajukan self.speed sebagai potensi koreksi. Ini sangat berguna karena menghilangkan diri sendiri misalnya variabel adalah sumber umum kesalahan dalam contoh kelas.

2. Dukungan untuk Linux Perf Profiler

Alat profiler Linux yang banyak digunakan, kinerja, sekarang dapat bekerja dengan program Python 3.12. Di masa lalu, ini hanya berfokus pada pelacakan operasi level-C dalam runtime Python.

Dengan Python 3.12, Anda sekarang dapat mengaktifkan perf untuk mengumpulkan detail tentang program Python juga. Anda dapat mengaktifkannya di tingkat lingkungan atau di dalam program Python menggunakan sys.activate_stack_trampoline fungsi.

3. Ketik Perbaikan Petunjuk

Sejak diperkenalkan di Python 3.5, sintaks type-hinting Python telah mengaktifkan alat linting untuk mendeteksi beragam kesalahan sebelumnya. Dengan setiap rilis berikutnya, sistem tipe Python telah berevolusi untuk mencakup kasus penggunaan yang lebih luas, menawarkan fitur pengetikan yang disempurnakan.

TypedDict

Python 3.12 memperkenalkan penggunaan TypedDicts sebagai sumber untuk mengisyaratkan argumen kata kunci dalam fungsi. Ini menggunakan generik variadik Unpack, yang diperkenalkan versi 3.11.

Berikut adalah contoh yang menggambarkan fitur ini:

kelasFilm(DiketikDict):
nama: str
tahun: int

deffoo(**kwargs: Buka kemasan[Film]) -> Tidak ada: ...

Dalam hal ini, fungsi foo dapat menerima argumen kata kunci dengan nama dan tipe yang selaras dengan konten Movie TypedDict: nama tipe str Dan tahun tipe int.

Penyempurnaan ini terbukti berharga saat mengetikkan fungsi petunjuk yang menerima argumen khusus kata kunci opsional tanpa nilai default.

Ketik Sintaks Parameter

Python 3.12 memperkenalkan sintaks yang lebih ringkas untuk menentukan tipe di kelas umum, fungsi, atau alias tipe.

Pertimbangkan hal berikut:

#cara lama
dari mengetik impor TypeVar
_T = TypeVar("_T")
deffungsi(a: _T, b: _T) -> _T:
...
# metode parameter tipe baru
deffungsi[T](a: T, b: T) -> T:
...

Dengan sintaks baru, tidak perlu mengimpor TypeVar secara eksplisit. Sebagai gantinya, Anda dapat menggunakan fungsi[T] sintaks untuk menunjukkan referensi tipe generik. Dimungkinkan juga untuk mendefinisikan batasan tipe, seperti menentukan bahwa tipe harus menjadi salah satu dari sekelompok tipe. Namun, tipe ini sendiri tidak bisa generik. Contoh sintaks ini adalah func[T: (str, int)].

4. Pengumpulan Sampah

Di Python 3.12, file mekanisme pengumpulan sampah (GC). telah berubah. Sebelumnya, GC berjalan setiap kali objek dialokasikan.

Namun, mulai dari Python 3.12, GC beroperasi secara eksklusif di dalam pemecah evaluasi mekanisme dalam loop bytecode Python. Dengan kata lain, ini berjalan antara eksekusi satu bytecode dan berikutnya.

Selain itu, GC juga terpicu saat mekanisme pemeriksaan penangan sinyal CPython dipanggil. Penyesuaian ini mengaktifkan pengumpulan sampah secara berkala selama panggilan berjalan lama ke ekstensi C di luar waktu proses.

Meluncurkan Python 3.12

Python 3.12 memperkenalkan berbagai fitur dan peningkatan yang menarik, merevolusi pengalaman pengkodean untuk Anda. Dengan pesan kesalahan yang ditingkatkan, kemampuan pengetikan yang ditingkatkan, dukungan untuk Linux Perf Profiler, dan pengumpulan sampah yang dioptimalkan, Python 3.12 membekali Anda dengan alat untuk menulis kode berkualitas tinggi efisien. Rangkullah kekuatan Python dan tingkatkan keterampilan pengkodean Anda ke level baru.