Python 3.9.0

Rilis stabil baru dari bahasa pemrograman Python populer telah dirilis.

Python adalah bahasa pemrograman tujuan umum tingkat tinggi yang berfokus pada peningkatan produktivitas pengembang dan keterbacaan kode. Fitur utamanya adalah pengetikan dinamis, manajemen memori otomatis, introspeksi penuh, mekanisme penanganan pengecualian, dukungan untuk perhitungan multi-thread, struktur data tingkat tinggi.

Python adalah bahasa yang stabil dan tersebar luas. Ini digunakan di banyak proyek dan dalam berbagai kapasitas: sebagai bahasa pemrograman utama atau untuk membuat ekstensi dan mengintegrasikan aplikasi. Aplikasi utama: pengembangan web, pembelajaran mesin dan analisis data, otomatisasi dan administrasi sistem. Python saat ini berada di peringkat ketiga. TIOBE.

Perubahan besar:

Parser performa tinggi baru berdasarkan tata bahasa PEG.

Dalam versi baru, parser Python saat ini berdasarkan tata bahasa LL(1) (tata bahasa CL) diganti dengan parser baru yang berkinerja tinggi dan stabil berdasarkan PEG (tata bahasa PB). Parser untuk bahasa yang diwakili oleh tata bahasa COP, seperti parser LR, memerlukan langkah analisis leksikal khusus yang membagi input menurut spasi, tanda baca, dan sebagainya. Hal ini diperlukan karena parser ini menggunakan pra-parsing untuk memproses beberapa CFG dalam waktu linier. Tata bahasa RW tidak memerlukan langkah analisis leksikal terpisah, dan aturannya dapat ditetapkan bersama dengan aturan tata bahasa lainnya.

Operator dan fungsi baru

Dua operator baru telah ditambahkan ke kelas dict bawaan, | untuk menggabungkan kamus dan |= untuk memperbarui.

Dua fungsi baru telah ditambahkan ke kelas str: str.removeprefix(prefix) dan str.removesuffix(suffix).

Ketik petunjuk untuk tipe koleksi bawaan

Rilis ini mencakup dukungan untuk sintaks generator di semua koleksi standar yang tersedia saat ini.

def read_blog_tags(tag: daftar[str]) -> Tidak ada:
untuk tag dalam tag:
print("Nama Tag", tag)

Perubahan lainnya

  • PEP 573 Mengakses Status Modul dengan Metode Ekstensi C

  • PEP 593 Fungsi fleksibel dan anotasi variabel

  • PEP 602 Python berpindah ke rilis stabil tahunan

  • PEP 614 Melonggarkan pembatasan tata bahasa pada dekorator

  • Dukungan Database IANA PEP 615 untuk Zona Waktu di Perpustakaan Standar

  • BPO 38379 Pengumpulan sampah tidak menghalangi objek yang dipulihkan

  • BPO 38692 os.pidfd_open, untuk mengontrol proses tanpa balapan dan sinyal;

  • BPO 39926 Memperbarui dukungan Unicode ke versi 13.0.0

  • BPO 1635741, Beberapa inisialisasi Python dalam proses yang sama tidak lagi membocorkan memori

  • Koleksi Python (range, tuple, set, frozenset, list, dict) dipercepat dengan panggilan vektor PEP 590

  • Beberapa modul Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) sekarang menggunakan inisialisasi multi-fase seperti yang didefinisikan dalam PEP 489

  • Sejumlah modul perpustakaan standar (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) sekarang menggunakan ABI stabil yang ditentukan oleh PEP 384.

Sumber: linux.org.ru

Tambah komentar