Buku aturan sekecil mungkin
Python dikenal mudah dibaca, dan sebagian besar alasannya adalah karena aturan sintaks bahasa ini sangat sedikit. Aturan yang penting muat dalam satu halaman:
- Satu pernyataan per baris.
- Indentasi menentukan struktur: tidak ada kurung kurawal, tidak ada kata kunci
end. - Huruf besar kecil berpengaruh.
namedanNameitu berbeda. :membuka sebuah blok; baris-baris berikutnya yang diindentasi di bawahnya adalah isi blok.#memulai komentar.
Pada dasarnya hanya itu. Selebihnya adalah variabel, fungsi, dan kebiasaan memakai standard library, yang akan kamu pelajari sambil jalan. Mari kita bahas kelima aturan itu dengan konteks yang cukup, sampai rasanya bukan lagi seperti aturan, melainkan bentuk alami bahasanya.
Satu pernyataan per baris
Pernyataan adalah instruksi lengkap: "cetak ini", "jumlahkan itu", "simpan nilai itu". Di Python, setiap pernyataan ditulis di barisnya sendiri:
Tiga pernyataan, tiga baris. Kamu tidak butuh titik koma di akhir, dan kebanyakan kode Python memang tidak memakainya. (Kamu bisa menaruh dua pernyataan di satu baris dengan titik koma, tapi itu dianggap gaya yang buruk. Jangan.)
Kalau sebuah baris memang perlu panjang, kamu bisa memotongnya di titik yang wajar di dalam tanda kurung, kurung siku, atau kurung kurawal, dan Python tidak akan protes:
Atau, yang lebih jarang, akhiri baris dengan garis miring terbalik untuk melanjutkannya. Utamakan trik tanda kurung kalau bisa, karena itulah yang dipakai kebanyakan codebase.
Indentasi adalah struktur
Inilah bagian yang sering menjebak pemula. Di Python, spasi di awal baris punya arti. Spasi itu memberi tahu Python baris mana yang satu kelompok.
Lihat sebuah if sederhana:
Dua baris setelah if hour < 12: diindentasi empat spasi. Python membaca indentasi itu sebagai "dua baris ini adalah isi dari if". print terakhir kembali ke margin kiri, jadi Python melihatnya berada di luar if.
Kalau kamu menghapus indentasinya, if jadi rusak. Kalau kamu menambah satu spasi kelebihan, if juga rusak. Python ketat di sini karena indentasi adalah strukturnya: tidak ada { atau end sebagai cadangan.
Beberapa aturan yang mengikuti dari sini:
- Pilih empat spasi per level indentasi dan konsisten. Itulah konvensi PEP 8 dan bawaan setiap editor untuk file
.py. - Jangan mencampur tab dan spasi. Python 3 akan menolak file yang memakai keduanya. Editor modern otomatis mengubah tab menjadi spasi saat kamu menyimpan; pastikan editormu diatur seperti itu.
- Error indentasi pasti akan terjadi. Saat terjadi, pesan error-nya memberi tahu nomor barisnya. Periksa apakah spasi di awal baris itu sama dengan baris-baris sekelompoknya.
Titik dua membuka sebuah blok
Setiap konstruksi yang membuat blok bersarang (if, else, for, while, def, class, with, try) mengakhiri baris kepalanya dengan titik dua. Baris-baris berikutnya yang diindentasi membentuk isi bloknya:
Dua hal yang perlu diperhatikan: titik dua di akhir baris kepala, dan indentasi empat spasi di baris-baris isinya. Kalau kamu lupa titik duanya, Python akan memberi tahu sesuatu seperti SyntaxError: expected ':'. Error itu tidak ambigu: perbaiki tanda baca yang hilang dan beres.
Huruf besar dan kecil dibedakan
Python memperlakukan Name, name, dan NAME sebagai tiga hal yang sama sekali terpisah. Ini berlaku untuk:
- Variabel dan fungsi buatanmu sendiri.
- Nama bawaan seperti
print,len,True,False,None. - Nama module dan atribut.
Biasanya ini baru menjebak saat kamu tidak sengaja memakai huruf kapital. True adalah nilai boolean benar; true adalah variabel yang belum didefinisikan dan memunculkan NameError. Print(...) bukan fungsi print, melainkan salah ketik.
Kalau sebuah error berkata "name 'X' is not defined" padahal kamu yakin sudah mendefinisikannya, periksa huruf kapitalnya dulu. Sembilan dari sepuluh kali, di situlah salahnya.
Komentar dengan #
Apa pun setelah # di sebuah baris adalah komentar, dan Python mengabaikannya sepenuhnya. Komentar adalah catatan untuk pembaca berikutnya (termasuk dirimu di masa depan):
Python tidak punya sintaks komentar banyak baris. Kalau kamu butuh beberapa baris, pakai beberapa baris #. (Kadang kamu akan melihat string dengan tanda kutip tiga dipakai sebagai komentar palsu. Itu hal yang berbeda bernama docstring, dan kita akan membahasnya saat membicarakan fungsi.)
Kata yang dicadangkan
Beberapa kata tidak boleh dipakai sebagai nama variabel karena Python sendiri memakainya: if, else, for, while, def, class, return, import, from, as, pass, break, continue, True, False, None, and, or, not, in, is, lambda, try, except, finally, raise, with, yield, global, nonlocal, async, await. Kamu tidak perlu menghafal daftar ini. Kalau kamu mencoba memakai salah satunya, Python akan langsung protes.
Kamu sudah cukup tahu untuk membaca file Python apa pun
Setiap aturan yang baru kamu baca berlaku untuk setiap file Python, baik skrip dua baris maupun proyek seratus ribu baris. Sisa bahasanya dibangun di atas lima gagasan ini. Kalau sebuah file terlihat membingungkan, solusinya hampir selalu memperhatikan indentasinya lebih dulu. Indentasi memberitahumu apa yang dilakukan kode, bahkan sebelum kamu membaca isi baris-barisnya.
Berikutnya: komentar, sedikit lebih dalam, ditambah docstring, cara Python menangani dokumentasi untuk fungsi dan module.
Pertanyaan yang sering diajukan
Kenapa Python peduli pada indentasi?
Python memakai indentasi untuk mengetahui baris mana yang satu kelompok. Kalau bahasa lain membungkus kelompok kode dengan kurung kurawal { }, Python memakai spasi di awal baris yang konsisten. Tampilannya lebih bersih, tapi artinya kamu tidak boleh asal-asalan soal spasi.
Berapa spasi untuk indentasi di Python?
Empat spasi per level adalah standar komunitas (PEP 8). Kebanyakan editor menyisipkan empat spasi saat kamu menekan Tab di file Python. Jumlah persisnya tidak sepenting konsistensi: mencampur indentasi dua spasi dan empat spasi di blok yang sama adalah error yang umum.
Apakah Python membedakan huruf besar dan kecil?
Ya. Name, name, dan NAME adalah tiga variabel berbeda. Nama bawaan seperti print dan True harus ditulis persis seperti itu: True bisa dipakai, true memunculkan error.