# 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.