Interpreter Python memiliki dua wajah: menjalankan file skrip, dan mode interaktif yang mengevaluasi setiap baris seketika setelah Enter ditekan. Mode interaktif — sering disebut REPL (Read-Eval-Print Loop) — adalah lab eksperimen kita: mencoba fungsi NumPy, melihat hasilnya tanpa menulis file, lalu menyunting percobaan berikutnya.
Bab ini memakai keduanya. Kita menulis satu skrip kecil dan menjalankannya, lalu mengulang percobaan serupa di REPL untuk merasakan perbedaan alurnya.
Menulis dan Menjalankan Skrip #
Simpan kode berikut sebagai demo_numpy.py (nama file ditandai pada header blok):
import numpy as np
harga = np.array([15000, 22000, 18750])
jumlah = np.array([3, 1, 2])
total = harga * jumlah
print("Total per item :", total)
print("Total keseluruhan :", total.sum())
print("Rata-rata harga :", harga.mean())Output yang Dihasilkan:
Total per item : [45000 22000 37500]
Total keseluruhan : 104500
Rata-rata harga : 18583.333333333332Mari kita bedah baris demi baris:
- Baris 1 (
import numpy as np): memuat library NumPy dan memberinya aliasnp— konvensi yang dipakai hampir seluruh dokumentasi NumPy. - Baris 3–4: dua list Python dikonversi menjadi array NumPy; berkat konversi itu, operasi aritmetika berikutnya bekerja pada seluruh elemen sekaligus.
- Baris 5 (
total = harga * jumlah): perkalian element-wise — elemen pertama dikalikan elemen pertama, elemen kedua dikalikan elemen kedua, dan seterusnya; hasilnya[45000 22000 37500]. - Baris 7–9: method
.sum()menjumlahkan seluruh elemen array, dan.mean()menghitung rata-ratanya; keduanya dicetak lewatprint().
Cara menjalankannya: dari folder tempat file berada, panggil interpreter disertai nama file:
python3 demo_numpy.pyOutput yang Dihasilkan:
Total per item : [45000 22000 37500]
Total keseluruhan : 104500
Rata-rata harga : 18583.333333333332Bentuk python3 nama_file.py adalah pola baku untuk mengeksekusi skrip: interpreter membaca file dari atas ke bawah, lalu selesai setelah baris terakhir.
Eksperimen Langsung di REPL #
Statement yang sama juga bisa diketik satu per satu di mode interaktif. Jalankan python3 tanpa argumen — interpreter menyapa dengan nomor versinya dan menampilkan prompt >>> — lalu ketik baris-baris berikut satu per satu:
# notest
python3
>>> import numpy as np
>>> harga = np.array([15000, 22000, 18750])
>>> harga * 2
array([30000, 44000, 37500])
>>> harga.mean()
np.float64(18583.333333333332)
>>> exit()Dua perbedaan penting dibanding skrip:
- Ekspresi yang diketik langsung menampilkan hasilnya tanpa perlu
print()— REPL mencetak representasi nilai setiap ekspresi. - Variabel tetap tersimpan antar baris;
hargamasih dikenali berapa baris pun kemudian. Sifat inilah yang membuat REPL nyaman untuk eksperimen bertahap.
Catatan kecil: nilai skalar NumPy ditampilkan REPL dengan pembungkus np.float64(...). Angka di dalamnya identik dengan hasil print() pada skrip; pembungkus tersebut hanya gaya tampilan NumPy 2 ketika sebuah nilai ditampilkan langsung. Untuk keluar dari REPL, ketik exit() atau tekan Ctrl-D (Linux/macOS); di Windows, tekan Ctrl-Z lalu Enter.
Bila eksperimen REPL ingin dipertahankan, kita menyimpannya sebagai skrip — ekspresi yang ingin ditampilkan diberi print():
import numpy as np
suhu = np.array([27.5, 28.1, 26.9])
print(suhu + 0.5)
print(suhu.mean())Output yang Dihasilkan:
[28. 28.6 27.4]
27.5Baris suhu + 0.5 menaikkan seluruh pengukuran setengah derajat tanpa loop, dan suhu.mean() merangkum ketiga pengukuran menjadi satu angka. Kedua statement ini juga dapat diketik langsung di REPL; hasilnya sama, hanya tampil tanpa print().
IPython, REPL yang Ditingkatkan #
Proyek IPython menyediakan REPL dengan pengalaman lebih baik: pelengkapan otomatis dengan tombol Tab, pewarnaan sintaks, riwayat perintah, dan magic command yang diawali % (misalnya %timeit untuk mengukur waktu eksekusi). IPython tidak wajib di course ini; bila ingin mencobanya, pasang dengan pip install ipython di dalam virtual environment, lalu jalankan perintah ipython. Mesin yang sama menjadi dasar Jupyter Notebook pada Chapter Menggunakan Jupyter Notebook.