Kursus
Berbeda dengan bahasa yang dikompilasi seperti C++ atau Java, yang harus diterjemahkan ke kode mesin sebelum dieksekusi, Python bersifat terinterpretasi dan menjalankan instruksi secara langsung. Hal ini membuat lingkungan REPL sangat cocok untuk bereksperimen, baik saat Anda menguji potongan kode, mengeksplorasi konsep baru, atau melakukan debug baris demi baris. Keunggulannya, REPL sudah terpasang di setiap instalasi Python, jadi siap digunakan kapan pun Anda butuh.
Dalam tutorial ini, saya akan menunjukkan cara menggunakan lingkungan REPL Python melalui contoh, mengeksplorasi fiturnya, dan alternatif REPL untuk meningkatkan alur kerja Anda. Jika Anda baru memulai dengan Python, saya merekomendasikan untuk mengikuti kursus Introduction to Python, yang membahas keterampilan seperti tipe data, list, fungsi dasar, dan paket.
Apa Itu Python REPL?
Sesi REPL adalah singkatan dari Read-Eval-Print Loop, yang menggambarkan empat tahap dasarnya:
- Read: Lingkungan REPL membaca masukan pengguna, bisa berupa satu baris kode atau pernyataan multi-baris.
- Evaluate: Mengevaluasi kode, mengeksekusi pernyataan atau ekspresi, dan menghitung hasilnya.
- Print: Mencetak hasil evaluasi ke konsol. Jika kodenya tidak menghasilkan keluaran, seperti pada pernyataan penugasan, maka tidak ada yang dicetak.
- Loop: REPL kembali ke awal, siap untuk baris masukan berikutnya.
Tahap-tahap ini bekerja terus-menerus, menciptakan lingkungan interaktif di mana Anda dapat mengetik kode dan langsung melihat hasilnya. REPL Python menampilkan prompt utama >>> untuk pernyataan baru dan prompt sekunder ... untuk lanjutan baris, seperti di dalam loop atau definisi fungsi. Menggunakan contoh di bagian berikut, kita akan melihat cara kerja prompt ini.
Istilah "interactive shell," "interpreter session," dan "REPL" sering digunakan secara bergantian untuk menggambarkan lingkungan ini.
Mengapa Menggunakan Python REPL
Anda dapat menggunakan Python REPL untuk tugas-tugas berikut:
Menguji potongan kode dan fungsi pustaka dengan cepat: Anda dapat mencoba potongan kode kecil seketika tanpa membuat file skrip.
>>> import math
>>> math.sqrt(16)
4.0
Mengeksplorasi sintaks dan bereksperimen dengan ide: Anggap lingkungan REPL sebagai sandbox pribadi Anda. Anda dapat mencoba hal baru, seperti berbagai tipe data, operator, dan struktur alur kendali, untuk melihat tepat bagaimana perilakunya tanpa risiko merusak program yang lebih besar.
>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]
Debug dan inspeksi variabel: Anda dapat menggunakan sesi REPL untuk memeriksa nilai dan status variabel Anda secara bertahap, sehingga lebih mudah memahami dan menelusuri masalah.
>>> x = 42
>>> type(x)
<class 'int'>
>>> x / 7
6.0
Gunakan sebagai kalkulator atau alat belajar: Hasil yang instan membuatnya berguna untuk melakukan perhitungan atau mempelajari dasar-dasar Python.
>>> 10 * (5 + 2)
70
Cara Memulai dan Keluar dari Sesi REPL
Untuk memulai sesi REPL Python, buka terminal atau command prompt Anda. Lalu ketik python atau python3, dan tekan Enter. Ini akan meluncurkan shell interaktif.
Anda juga dapat memulai sesi interaktif setelah menjalankan skrip menggunakan flag perintah -i. Misalnya, python -i calc_tax.py akan mengeksekusi calc_tax.py dan kemudian membawa Anda ke lingkungan REPL dengan variabel skrip tersebut masih tersimpan di memori.
Untuk keluar dari REPL, Anda dapat menggunakan beberapa perintah berikut:
-
Ketik
quit()atauexit()lalu tekan Enter. -
Di Unix/Linux/macOS, tekan Ctrl+D.
-
Di Windows, tekan Ctrl+Z lalu tekan Enter.
Menjalankan Kode di Lingkungan REPL
Anda dapat menjalankan kode dalam sesi REPL Python dengan berbagai cara bergantung pada kompleksitasnya. Mari kita lihat jenis-jenis kode yang dapat dijalankan di REPL.
Pernyataan dan ekspresi sederhana
Lingkungan REPL dapat mengevaluasi ekspresi dan pernyataan sederhana secara instan. Misalnya, Anda dapat melakukan operasi aritmetika, menetapkan variabel, dan mengevaluasi ekspresi Boolean. Hasil sebuah ekspresi akan dicetak secara otomatis.
>>> 5 + 4
9
>>> name = "Allan"
>>> name
'Allan'
>>> 10 > 5
TrueJika sebuah pernyataan, seperti penugasan variabel, tidak menghasilkan keluaran, interpreter REPL tidak akan mencetak apa pun. Jika Anda membuat kesalahan, REPL memberikan umpan balik langsung dengan memunculkan error.
Pernyataan majemuk
Lingkungan Python REPL juga menangani pernyataan majemuk multi-baris seperti pernyataan if dan loop for. REPL otomatis beralih ke prompt sekunder (...) setelah Anda mengetik baris yang diakhiri dengan titik dua (:) dan menekan Enter, yang menandakan REPL menunggu blok kode yang diindentasi.
Perlu dicatat bahwa Anda harus mengindentasi kode secara manual; lingkungan REPL tidak melakukan indentasi otomatis. Untuk menandai akhir pernyataan majemuk, tekan Enter pada baris kosong.
Lanjutan baris eksplisit dan implisit
Anda juga dapat menulis pernyataan multi-baris dalam sesi REPL Python menggunakan lanjutan baris. Lanjutan baris eksplisit menggunakan backslash \ di akhir baris untuk menunjukkan pernyataan berlanjut pada baris berikutnya.
Lanjutan baris implisit terjadi secara otomatis ketika kode ditutup dalam tanda kurung (), tanda kurung siku [], atau kurung kurawal {}.
Mencetak vs mengevaluasi
Fitur pencetakan otomatis REPL hanya berfungsi pada ekspresi yang memiliki nilai kembalian. Misalnya, jika Anda memiliki list dan menambahkan item menggunakan temp.append(45), itu tidak akan menghasilkan keluaran. Untuk melihat list yang baru, Anda perlu secara eksplisit mengevaluasi variabel list pada baris berikutnya. Untuk fungsi yang mengembalikan None, Anda perlu menggunakan print() untuk melihat keluarannya.
Fitur REPL yang Bermanfaat
Lingkungan REPL Python memiliki beberapa fitur bawaan yang membuatnya lebih produktif untuk digunakan dan dipelajari. Saya akan membahas beberapa fitur yang saya anggap berguna.
Variabel khusus _
Garis bawah (_) adalah variabel khusus dalam sesi REPL yang menyimpan hasil dari ekspresi terakhir. Ini berguna ketika Anda ingin menggunakan kembali hasil tanpa mengetiknya ulang.
Pada contoh di bawah, _ menyimpan nilai 30, yang merupakan hasil dari ekspresi 6*5.
Alat introspeksi
Python menyediakan beberapa fungsi bawaan untuk mengeksplorasi objek dan lingkungan Anda secara interaktif. Tabel di bawah merangkum penggunaan masing-masing fungsi beserta contoh.
|
Alat |
Tujuan |
Contoh |
|
|
Mengembalikan daftar semua nama (atribut dan metode) dalam cakupan lokal saat ini atau dari objek tertentu. |
|
|
|
Menjalankan sistem bantuan bawaan untuk objek, modul, atau fungsi, menampilkan dokumentasinya (docstring). |
|
|
|
Mengembalikan atribut |
|
|
|
Mengembalikan dictionary yang merepresentasikan tabel simbol lokal saat ini (variabel dalam cakupan saat ini). |
|
|
|
Mengembalikan dictionary yang merepresentasikan tabel simbol global saat ini (variabel yang dapat diakses di mana saja). |
|
Riwayat kode dan tab completion
REPL mempercepat penulisan kode dengan fitur riwayat dan pelengkapan otomatis berikut:
- Riwayat kode: Anda dapat menelusuri perintah yang dimasukkan sebelumnya menggunakan tombol Panah Atas dan Panah Bawah. Ini memungkinkan Anda menjalankan ulang, memodifikasi, atau memperbaiki baris sebelumnya dengan cepat.
- Tab completion: Membantu melengkapi nama variabel, nama modul, dan atribut objek. Misalnya, mengetik
imporlalu menekan Tab akan melengkapi menjadiimport, atau mengetikstr..diikuti Tab akan menampilkan daftar metode string.
Pintasan keyboard
Berikut beberapa pintasan keyboard umum yang membuat navigasi di REPL lebih efisien.
|
Pintasan |
Aksi |
|
Ctrl+C |
Menginterupsi perintah yang sedang berjalan, seperti loop yang panjang, dan memunculkan |
|
Ctrl+D (Unix) |
Keluar dari REPL (sama dengan |
|
Ctrl+Z + Enter (Win) |
Keluar dari REPL |
|
Ctrl+L |
Membersihkan layar (seperti perintah |
|
Panah Atas / Bawah |
Menelusuri riwayat perintah |
|
Ctrl+A |
Memindahkan kursor ke awal baris |
|
Ctrl+E |
Memindahkan kursor ke akhir baris |
|
Ctrl+K |
Menghapus dari posisi kursor hingga akhir baris |
|
Ctrl+U |
Menghapus dari posisi kursor hingga awal baris |
Menyesuaikan REPL
REPL Python standar dapat disesuaikan agar sesuai dengan alur kerja dan preferensi Anda.
File startup
Atur variabel lingkungan PYTHONSTARTUP ke path skrip Python yang berjalan otomatis setiap kali REPL dimulai. Skrip ini dapat melakukan pra-import modul yang sering digunakan, mendefinisikan fungsi, atau mengubah string prompt.
Sebagai contoh, buat file ~/.pystartup dengan konten berikut:
import sys, os, math, random
print("Custom REPL ready. Pre-imported: sys, os, math, random")
# Change the prompt strings
import sys
sys.ps1 = ">>> "
sys.ps2 = "... "
Jika Anda menggunakan Windows, Anda dapat menyiapkan lingkungan menggunakan perintah berikut:
setx PYTHONSTARTUP "C:\path\to\pystartup.py"
Output kaya dengan rich
Anda dapat menggunakan pustaka rich untuk meningkatkan dan mewarnai output di REPL. Anda perlu memasang modul rich terlebih dahulu melalui pip.
pip install rich
Lalu aktifkan rich dengan import dan gunakan dalam sesi REPL Python Anda. Pada contoh di bawah, saya menggunakan pustaka tersebut untuk mencetak kata dengan warna font berbeda.

Contoh Perintah REPL untuk Dicoba
Seperti yang Anda lihat, sesi REPL Python mudah digunakan. Cobalah perintah berikut untuk melatih keterampilan Anda
|
Perintah |
Tujuan |
Keluaran/Deskripsi |
|
|
Introspeksi: Melihat semua metode dan atribut yang tersedia pada tipe bawaan |
|
|
|
Dokumentasi: Menampilkan docstring untuk metode append pada objek list, menjelaskan cara kerjanya. |
Deskripsi terperinci tentang apa yang dilakukan |
|
|
Mengimpor modul: Memuat pustaka standar |
Tidak ada keluaran (tetapi modul kini tersedia). |
|
|
Perhitungan: Mendapatkan nilai π. |
|
|
|
Perhitungan: Menghitung sin(π/2). |
|
|
|
Uji cepat: Memilih item acak dari sebuah list. |
|
|
|
Penanganan error/Keluar: Memulai loop tak hingga, lalu tekan Ctrl+C untuk menginterupsi dan keluar darinya. |
|
Keterbatasan Lingkungan REPL Standar
Meskipun lingkungan REPL Python standar sangat baik untuk tugas cepat, sering terasa terbatas dibandingkan IDE modern. Anda akan segera menyadari beberapa fitur yang hilang, termasuk:
- Tidak ada penyorotan sintaks: Semua kode Anda tampil sebagai teks biasa. Ini menyulitkan untuk membedakan keyword, string, dan komentar secara visual, sehingga Anda harus membaca lebih saksama.
- Auto-indentation minimal: Meskipun REPL menangani prompt lanjutan (
...), Anda harus memasukkan indentasi yang benar secara manual untuk pernyataan majemuk, seperti blok if dan for. - Penyelesaian kode dasar: Tab completion bawaan berfungsi, tetapi tidak menawarkan saran kontekstual, dokumentasi inline, atau fuzzy matching seperti pada shell yang lebih canggih.
- Penyuntingan multi-baris yang kurang baik: Mengedit blok kode kompleks dan multi-baris terasa merepotkan.
- Setelah sebuah blok dikirim, blok tersebut tidak dapat dengan mudah diedit atau dipanggil kembali dari riwayat.
REPL Alternatif
Untuk mengatasi keterbatasan interpreter standar di atas, beberapa REPL dan lingkungan yang ditingkatkan, dibangun di atas model interaktif Python, menawarkan fitur tambahan yang meningkatkan produktivitas dan pembelajaran. Saya merekomendasikan mencoba salah satu dari berikut ini untuk menemukan yang sesuai dengan kebutuhan Anda.
- IDLE: Lingkungan Python berbasis GUI sederhana yang dibundel dengan Python itu sendiri. Menawarkan penyorotan sintaks, editor terintegrasi, dan debugger, sehingga ramah bagi pemula.
- IPython: REPL yang kuat dengan tab completion kaya, penyorotan sintaks, magic commands (perintah khusus yang diawali %), riwayat yang ekstensif, dan akses mudah ke perintah shell. Banyak digunakan di data science dan komputasi ilmiah.
- bpython: REPL berbasis terminal dengan penyorotan sintaks inline, saran otomatis, dan akses cepat ke dokumentasi. Ringan namun menambah kegunaan secara signifikan dibanding REPL bawaan.
- ptpython: Dirancang untuk pengguna berpengalaman, REPL tingkat lanjut ini menawarkan fitur seperti penyuntingan multi-baris yang sesungguhnya, penyorotan sintaks yang andal, dan bahkan dukungan mouse, memberi Anda kontrol lebih di terminal.
- REPL daring: Lingkungan berbasis browser seperti Python.org’s interactive shell dan Python Morsels REPL sangat cocok untuk pengujian cepat, berbagi kode, atau berlatih saat bepergian.
Kesimpulan
Sesi REPL Python menyediakan lingkungan interaktif yang cepat untuk bereksperimen dengan kode, menjadikannya sangat berharga untuk pengujian, pembelajaran, dan mengeksplorasi ide. Menguasai fitur bawaannya memberi Anda alat yang kuat untuk tugas pemrograman sehari-hari. Untuk alur kerja yang lebih kompleks atau kegunaan yang lebih baik, mencoba REPL alternatif tingkat lanjut dapat semakin meningkatkan pengalaman koding interaktif.
Untuk pemahaman Python yang menyeluruh, Anda dapat belajar lebih lanjut dari jalur keterampilan Python Data Fundamentals dan Python Programming Fundamentals kami. Python Cheat Sheet for Beginners juga berguna saat Anda ingin sekilas melihat cara membagi list di Python.
FAQ
Bagaimana cara memulai Python REPL?
Buka terminal Anda dan ketik python atau python3, tergantung sistem Anda.
Bagaimana cara keluar dari REPL?
Ketik quit() atau exit(), atau gunakan Ctrl+D di Unix atau Ctrl+Z + Enter di Windows.
Apa perbedaan antara REPL dan menjalankan skrip?
REPL menjalankan kode secara interaktif baris demi baris, sedangkan skrip mengeksekusi semua kode dalam sebuah file sekaligus.
Apa itu variabel _ di REPL?
_ menyimpan hasil dari ekspresi terakhir yang dievaluasi sehingga Anda dapat menggunakannya kembali dengan cepat.
Apa itu prompt >>> dan ...?
>>> adalah prompt utama sedangkan ... adalah prompt sekunder untuk masukan multi-baris.

