2. Menggunakan Interpreter Python
*********************************


2.1. Memanggil Interpreter
==========================

Penerjemah Python biasanya diinstal sebagai "/usr/local/bin/python3.9"
pada mesin yang tersedia; menempatkan "/usr/local/bin" di jalur
pencarian shell Unix Anda memungkinkan untuk memulainya dengan
mengetik perintah:

   python3.9

ke shell. [1] Karena pilihan direktori tempat interpreter berada
adalah opsi instalasi, bisa jadi di tempat lain; tanyakan kepada guru
Python Anda di sekitar atau administrator sistem. (Mis.,
"/usr/local/python" adalah lokasi alternatif yang populer.)

Pada mesin *Windows* yang telah diinstall Python dari Microsoft Store,
*command* "python3.9" akan tersedia. Jika anda memiliki *launcher*
py.exe, anda dapat menggunakan *command* "py". Lihat Excursus: Setting
environment variables untuk mengetahui cara lain menjalankan Python.

Mengetik karakter akhir file ("Control-D" pada Unix, :kbd:` Control-Z`
pada Windows) pada prompt utama menyebabkan interpreter keluar dengan
status keluar nol. Jika itu tidak berhasil, Anda dapat keluar dari
interpreter dengan mengetikkan perintah berikut: "quit()".

Fitur pengeditan garis interpreter termasuk pengeditan interaktif,
penggantian riwayat dan penyelesaian kode pada sistem yang mendukung
pustaka GNU Readline. Mungkin pemeriksaan tercepat untuk melihat
apakah pengeditan baris perintah didukung dengan mengetik "Control-P"
ke prompt Python pertama yang Anda dapatkan. Jika berbunyi bip, Anda
memiliki pengeditan baris perintah; lihat Lampiran Pengeditan Input
Interaktif dan Penggantian Riwayat untuk pengantar tombol. Jika
tampaknya tidak ada yang terjadi, atau jika muncul "^P", pengeditan
baris perintah tidak tersedia; Anda hanya akan dapat menggunakan
backspace untuk menghapus karakter dari baris saat ini.

Interpreter beroperasi mirip seperti shell Unix: ketika dipanggil
dengan masukan bawaan yang terhubung ke perangkat tty, ia membaca dan
mengeksekusi perintah secara interaktif; ketika dipanggil dengan
argumen nama berkas atau dengan berkas sebagai masukan bawaan, ia
membaca dan mengeksekusi *script* dari berkas itu.

Cara kedua untuk memulai interpreter adalah "python -c command [arg]
...", yang mengeksekusi pernyataan(-pernyataan) dalam *command*,
dianalogikan dengan opsi shell "-c". Karena pernyataan Python sering
mengandung spasi atau karakter lain yang khusus untuk shell, biasanya
disarankan untuk mengutip *command* secara keseluruhan dengan tanda
kutip tunggal.

Beberapa modul Python juga berguna sebagai skrip. Ini dapat dipanggil
menggunakan "python -m module [arg] ...", yang mengeksekusi berkas
sumber untuk *module* seolah-olah Anda telah menuliskan nama
lengkapnya pada baris perintah.

Ketika berkas skrip digunakan, terkadang berguna untuk dapat
menjalankan skrip dan masuk ke mode interaktif sesudahnya. Ini dapat
dilakukan dengan menuliskan "-i" sebelum skrip.

Semua opsi baris perintah dijelaskan dalam Baris perintah dan
lingkungan.


2.1.1. Melewatkan Argumen
-------------------------

Ketika diketahui oleh interpreter, nama skrip dan argumen tambahan
sesudahnya diubah menjadi daftar string dan diberikan nilai ke
variabel "argv" dalam modul "sys". Anda dapat mengakses daftar ini
dengan menjalankan "import sys". Panjang daftar setidaknya satu;
ketika tidak ada skrip dan tidak ada argumen yang diberikan,
"sys.argv[0]" adalah string kosong. Ketika nama skrip diberikan
sebagai "'-'" (artinya standar masukan), "sys.argv[0]" diatur ke
"'-'". Ketika *command* "-c" digunakan, "sys.argv[0]" diatur
ke``'-c'". Ketika *module* :option:`-m` digunakan, ``sys.argv[0]"
diatur ke nama lengkap modul yang digunakan. Opsi ditemukan setelah
*command* "-c" atau *module* "-m" tidak dikonsumsi oleh pemrosesan
opsi interpreter Python tetapi ditinggalkan di "sys.argv" untuk
perintah atau modul yang akan ditangani .


2.1.2. Mode Interaktif
----------------------

Ketika perintah dibaca dari tty, interpreter dikatakan dalam
*interactive mode*. Dalam mode ini interpreter meminta perintah
berikutnya dengan *primary prompt*, biasanya tiga tanda lebih besar
dari (">>>"); untuk garis lanjutan, interpreter meminta dengan
*secondary prompt*, secara bawaan tiga titik ("..."). Interpreter
mencetak pesan selamat datang yang menyatakan nomor versinya dan
pemberitahuan hak cipta sebelum mencetak prompt pertama:

   $ python3.9
   Python 3.9 (default, June 4 2019, 09:25:04)
   [GCC 4.8.2] on linux
   Type "help", "copyright", "credits" or "license" for more information.
   >>>

Garis lanjutan diperlukan ketika memasuki konstruksi multi-garis.
Sebagai contoh, lihat ini pernyataan "if":

   >>> the_world_is_flat = True
   >>> if the_world_is_flat:
   ...     print("Be careful not to fall off!")
   ...
   Be careful not to fall off!

Untuk lebih lanjut tentang mode interaktif, lihat Mode Interaktif.


2.2. Interpreter dan Lingkungannya
==================================


2.2.1. *Encoding* Penulisan Kode Sumber
---------------------------------------

Secara bawaan, berkas sumber Python diperlakukan sebagai tulisan
*encoded* dalam UTF-8. Dalam pengkodean itu, sebagian besar karakter
bahasa di dunia dapat digunakan secara bersamaan dalam string literal,
pengidentifikasi dan komentar --- meskipun pustaka standar hanya
menggunakan karakter ASCII untuk pengidentifikasi, sebuah konvensi
yang harus diikuti oleh setiap kode portabel. Untuk menampilkan semua
karakter ini dengan benar, editor Anda harus mengenali bahwa berkas
tersebut adalah UTF-8, dan itu harus menggunakan font yang mendukung
semua karakter dalam berkas.

Untuk mendeklarasikan penyandian *encoding* selain yang bawaan, baris
komentar khusus harus ditambahkan sebagai baris *first* pada berkas.
Sintaksnya adalah sebagai berikut

   # -*- coding: encoding -*-

di mana *encoding* adalah salah satu yang valid "codec" yang didukung
oleh Python.

Misalnya, untuk menyatakan bahwa pengkodean *encoding* Windows-1252
harus digunakan, baris pertama file kode sumber Anda harus:

   # -*- coding: cp1252 -*-

Satu pengecualian untuk aturan *baris pertama* adalah ketika kode
sumber dimulai dengan UNIX "shebang" line. Dalam hal ini, deklarasi
penyandian *encoding* harus ditambahkan sebagai baris kedua pada
berkas. Sebagai contoh:

   #!/usr/bin/env python3
   # -*- coding: cp1252 -*-

-[ Catatan kaki ]-

[1] Pada Unix, interpreter Python 3.x secara default tidak diinstal
    sebagai aplikasi yang dapat dieksekusi dengan nama "python",
    sehingga tidak bertentangan dengan aplikasi Python 2.x yang
    diinstal secara bersamaan.
