Setiap nama yang kita berikan pada variabel, function, class, atau module disebut identifier. Interpreter Python memeriksa keabsahan nama tersebut sejak kode dibaca, sehingga nama yang melanggar aturan langsung memicu SyntaxError sebelum program sempat berjalan. Pada Chapter ini kita akan membedah aturan sintaks penamaan di Python, daftar kata kunci yang tidak boleh dipakai, serta gaya penamaan yang disepakati komunitas lewat dokumen PEP 8.
Aturan Sintaks Identifier #
Aturan penamaan identifier di Python dapat dirangkum dalam tabel berikut:
| Aturan | Contoh sah | Contoh salah |
|---|---|---|
Diawali huruf atau garis bawah (_) | harga, _total | 2total |
Karakter berikutnya hanya huruf, angka, atau _ | harga_satuan_2 | harga-satuan |
| Tidak boleh sama dengan kata kunci | kelas | class |
| Tidak boleh mengandung spasi atau simbol lain | total_harga | total harga, total$ |
Contoh nama yang melanggar aturan akan langsung ditolak oleh interpreter Python:
2total = 100
print(2total)Output yang Dihasilkan:
SyntaxError: invalid decimal literalInterpreter Python membaca awalan 2 sebagai angka, sehingga 2total dianggap bilangan yang salah penulisan, bukan identifier. Nama seperti harga-satuan juga ditolak karena tanda hubung dikenali sebagai operator pengurangan antara dua nama harga dan satuan.
Kata Kunci yang Dilarang #
Python menyimpan sejumlah nama sebagai keyword (kata kunci) yang dipakai oleh sintaks bahasa itu sendiri, misalnya if, for, class, dan return. Nama-nama tersebut tidak boleh dipakai sebagai identifier. Module keyword pada standard library memuat daftarnya:
import keyword
print(len(keyword.kwlist))
print(keyword.iskeyword("class"))
print(keyword.iskeyword("kelas"))Output yang Dihasilkan:
35
True
FalseMari kita telaah baris-baris kode di atas:
- Baris 1 (
import keyword): memuat modulekeyworddari standard library. - Baris 3 (
print(len(keyword.kwlist))):keyword.kwlistberisi daftar seluruh kata kunci (35 buah pada Python 3.12), lalu fungsilen()menghitung jumlahnya. - Baris 4 (
print(keyword.iskeyword("class"))): fungsikeyword.iskeyword()memeriksa apakah sebuah string merupakan kata kunci;"class"adalah kata kunci sehingga hasilnyaTrue. - Baris 5 (
print(keyword.iskeyword("kelas"))):"kelas"hanyalah nama biasa sehingga hasilnyaFalse.
Selain kata kunci tetap, Python juga memiliki soft keyword seperti match, case, type, dan _ (terlihat lewat keyword.softkwlist). Soft keyword hanya diartikan khusus pada konteks tertentu, misalnya pernyataan match yang hadir sejak Python 3.10, sehingga masih boleh dipakai sebagai nama di tempat lain.
Huruf Besar dan Kecil Dibedakan #
Python memperlakukan huruf besar dan kecil sebagai karakter yang berbeda (*case-sensitive`). Tiga nama berikut adalah tiga variabel yang tidak berhubungan sama sekali:
nama = "Budi"
Nama = "Siti"
NAMA = "Ani"
print(nama, Nama, NAMA)Output yang Dihasilkan:
Budi Siti AniGaya Penamaan PEP 8 #
Selain aturan sintaks yang membatasi karakter, komunitas Python menyepakati gaya penamaan dalam dokumen PEP 8. Gaya ini tidak diwajibkan interpreter, tetapi diikuti hampir seluruh proyek Python profesional:
| Untuk apa | Gaya | Contoh |
|---|---|---|
| Variabel dan function | snake_case | total_harga, hitung_diskon() |
| Class | PascalCase | TaskManager |
| Konstanta | UPPER_SNAKE_CASE | MAX_DISKON |
Nama yang deskriptif membuat kode membaca seperti kalimat. Perbandingan berikut memperlihatkan bedanya:
harga_satuan = 2500
jumlah_barang = 4
total_harga = harga_satuan * jumlah_barang
print(total_harga)Output yang Dihasilkan:
10000Dengan nama harga_satuan, jumlah_barang, dan total_harga, pembaca langsung paham maksud perhitungan tanpa perlu komentar tambahan. Aturan penamaan ini juga menjadi fondasi ketika nanti kita mendefinisikan function pada Section Fungsi dan class pada Section Object-Oriented Programming.