Fitur Baru Python 3.8.0b3

ayu amaliyah 5 September 2019

Fitur Baru Python 3.8.0b3

Python versi 3.8.0b3 telah rilis pada bulan Juli 2019 lalu, tepatnya pada tanggal 29 Juli 2019. Versi 3.8.0b3 di rilis untuk memberikan fitur-fitur baru dan perbaikan bug. Versi ini juga direncanakan untuk melengkapi fitur yang memasuki fase beta. Namun perlu diingat bahwa rilisnya Python versi ini tidak disarankan untuk lingkungan produksi.

Adapun beberapa fitur-fitur dari Python versi 3.8 seperti di bawah ini:

Assignment expressions

Ada tambahan kode program baru untuk menyimpan nilai ke variabel yang awalnya hanya dengan (=) saja, sekarang ditambah dengan (:=). Contoh programnya :

if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")

Positional-only parameters

Dalam sintaks parameter fungsi juga terdapat tambahan baru yaitu adanya / untuk menunjukkan bahwa beberapa parameter fungsi harus ditentukan secara posisi dan tidak dapat digunakan sebagai argumen kata kunci.

Untuk contohnya yaitu parameter a dan b harus diisi seusuatu posisinya, c dan d boleh ditulis sesuai posisi atau menggunakan nama parameter, sedangkan e dan f harus dipanggil menggunakan nama parameter.

def f(a, b, /, c, d, *, e, f): print(a, b, c, d, e, f)

Dukungan f-string

Adapun f-string ini akan sangat berguna untuk untuk mecetak string terformat juga untuk debugging. Di versi ini, f-string mendapatkan fitur baru di mana dengan (=) ke f-string seperti f'{expr=} maka, kita akan dapatkan value dari suatu variabel di dalam f-string.

Contoh programnya:

>>> user = 'eric_idle' >>> member_since = date(1975, 7, 31) >>> f'{user=} {member_since=}' "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

Konfigurasi inisialisasi Python

Terdapat penambahan API C baru untuk konfigurasi awal Python yang dapat memberikan kontrol lebih baik bagi keseluruhan project dan juga error reporting yang lebih membantu.

Struktur baru:

  • PyConfig
  • PyPreConfig
  • PyStatus
  • PyWideStringLList

Fungsi baru:

  • PyConfig_Clear()
  • PyConfig_InitIsolatedConfig()
  • PyConfig_InitPythonConfig()
  • PyConfig_Read()
  • PyConfig_SetArgv()
  • PyConfig_SetBytesArgv()
  • PyConfig_SetBytesString()
  • PyConfig_SetString()
  • PyPreConfig_InitIsolatedConfig()
  • PyPreConfig_InitPythonConfig()
  • PyStatus_Error()
  • PyStatus_Exception()
  • PyStatus_Exit()
  • PyStatus_IsError()
  • PyStatus_IsExit()
  • PyStatus_NoMemory()
  • PyStatus_Ok()
  • PyWideStringList_Append()
  • PyWideStringList_Insert()
  • Py_BytesMain()
  • Py_ExitStatusException()
  • Py_InitializeFromConfig()
  • Py_PreInitialize()
  • Py_PreInitializeFromArgs()
  • Py_PreInitializeFromBytesArgs()
  • Py_RunMain()

Bahasa pemrograman Python perkembangannya sangat cepat, fitur-fitur yang ditawarkan oleh Python tidak lepas dari keinginannya untuk memberi kemudahan bagi pengguna.

Referensi :