Apa yang Baru di Python 3.11? Bagaimana Cara Menginstal versi Alpha?

Goo 4 Juli 2022

Apa yang Baru di Python 3.11? Bagaimana Cara Menginstal versi Alpha?

Hai coders, seperti yang sudah kita ketahui bahwa Python akan merilis versi terbarunya, yakni Python 3.11. Python versi terbaru ini diperkirakan akan dirilis pada Oktober 2022. Nah, di artikel kali ini kita akan membahas mengenai update dan tambahan fitur pada versi terbaru Python ini. Selain itu, akan dibahas juga cara menginstal Python versi Alpha untuk berbagai perangkat. Jika kalian ingin melihat sekilas atau menguji beberapa fitur baru di versi 3.11 ini, kalian dapat mengunduh versi Alphanya (versi saat ini adalah 3.11.0b3) sebelum perilisan utama.

—---------------

Cara Menginstal Python 3.11 Alpha

Berikut beberapa cara untuk menginstal Python 3.11 versi Alpha di mesin lokal untuk membiasakan diri menggunakan update maupun tambahan fitur-fitur baru, juga memberikan umpan balik kepada komunitas maupun tim pengembang. Untuk melihat The Latest Alpha version klik disini.

Instalasi Docker

Apabila telah mempunyai akses Docker di sistem, maka proses pengunduhan dapat dilanjutkan dengan pulling dan running python:3.11-rc-slim

Docker Image:

$ docker pull python:3.11-rc-slim

Kemudian, run it

$ docker run -it --rm python:3.11-rc-slim

Ubuntu installation

$ pyenv update
$ pyenv install 3.11.0b3
$ pyenv virtualenv 3.11.0b3 311_preview
$ pyenv activate 311_preview

OSX installation
Untuk pengguna Mac, instalasi .pkg dapat dilihat pada Dokumentasi Resmi. Versi Alpha terbaru terdapat di sisi kanan bawah bagian Pra-Rilis.

Windows installation
Untuk dapat menginstal Python versi Alpha di Windows dapat menggunakan pyenv-win.

pyenv update
pyenv install 3.11.0b3

Dan setelah penginstalan selesai, dapat dilanjutkan dengan membuat serta mengaktifkan lingkungan virtual versi Python Alpha yang telah ditentukan pada langkah sebelumnya:

pyenv local 3.11.0b3
python -m venv env
.\env\Scripts\activate

Itulah langkah atau cara penginstalan dari Python 3.11 versi Alpha di berbagai perangkat. Selanjutnya akan membahas mengenai fitur dan update dari Python 3.11 yang akan dirilis nanti.

Fitur dan Update Python 3.11

1. Pengoptimalan Kinerja CPython

CPython adalah implementasi referensi dari bahasa pemrograman Python. Ditulis dalam C dan Python, CPython adalah implementasi default dan paling banyak digunakan dari bahasa Python. Di versi 3.11, interpreter CPython jauh lebih dioptimalkan dan lebih cepat daripada versi 3.10. Kecepatan CPython 3.11 rata-rata 1,22x lebih cepat dibandingkan CPython 3.10 bila diukur dengan rangkaian benchmark py.performance, dan dikompilasi dengan GCC di Ubuntu Linux. Bergantung pada beban kerja Anda, percepatannya bisa mencapai 10–60% lebih cepat.

2. Penambahan fitur pengetikan baru: Self

Dalam versi ini terdapat Self Type, merupakan bagian dari fitur Python 3 yang terlihat lebih intuitif dan mudah untuk dikode. Fitur ini juga memungkinkan pengguna untuk membubuhi keterangan fungsi. Anotasi Fungsi adalah fitur yang memungkinkan pengguna menambahkan metadata ke parameter fungsi dan mengembalikan nilai. Dengan cara ini pengguna dapat menentukan tipe input dari parameter fungsi dan tipe pengembalian dari nilai yang dikembalikan fungsi.

Misalnya, kita memiliki kelas bernama School yang memiliki fungsi get_school yang mengembalikan turunan dari kelas School. Sebelumnya, jika kita ingin membubuhi keterangan fungsi, kita harus menggunakan TypeVar yang sangat verbose.

from typing import TypeVar

TSchool = TypeVar('TSchool', bound='School') 

class School:
		def get_school(self: TSchool) -> TSchool:
				return self

Versi Python 3.11 :

from typing import Self

class School:
		def get_school(self) -> Self:
				return self

3. Pesan Error Yang Lebih Baik

Pada versi Python sebelumnya, interpreter hanya menunjukkan poin dari baris khusus yang menyebabkan error. Ini sedikit ambigu karena faktanya itu tidak menjelaskan bagian atau objek mana yang sebenarnya ditandai error.

contohnya:

x = [1,2,3] z = x[1][0]

Python 3.10 :

File "C:\Python311\code.py", line 2, in <module>
		z = x[1][0]
TypeError: 'int' object is not subscriptable

Terlihat pada versi.10, pesan error int tidak ditunjukkan dengan jelas. Sedangkan pada versi Python 3.11diperlihatkan bagian mana yang mengalami error:

File "C:\Python311\code.py", line 2, in <module>
z = x[1][0]
    ~~~~^^^
TypeError: 'int' object is not subscriptable

4. Modul baru untuk Mengurai File TOML

Python 3.11 akan membawa modul baru tomllib, ditambahkan untuk memfasilitasi penguraian TOML. Catatan, modul tidak mendukung penulisan TOML (untuk saat ini). Tomllib dapat digunakan untuk memuat file-file TOML.

import tomllib
with open('settings.toml', 'rb') as f:
	 data = tomllib.load(f)
 

atau strings:

import tomllib

settings = """
python-version = "3.11.0"
python-implementation = "CPython"
"""

data = tomllib.loads(settings)

Untuk lebih lengkapnya tentang tambahan baru ini dapat dilihat di bpo-40050.

Kita telah membahas fitur-fitur dan update baru yang dinantikan akan ada pada python 3.11., juga bagaimana cara menginstall Python 3.11 versi Alpha. Silahkan untuk mencoba versi Alpha, bagi kalian yang ingin mencoba fitur baru lebih awal maupun memberi masukan kepada tim pengembang. Sekian artikel kali ini, untuk informasi lebih jelas terkait Python 3.11 dapat dibaca pada Dokumen Resmi.

Semoga bermanfaat!.