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:

AturanContoh sahContoh salah
Diawali huruf atau garis bawah (_)harga, _total2total
Karakter berikutnya hanya huruf, angka, atau _harga_satuan_2harga-satuan
Tidak boleh sama dengan kata kuncikelasclass
Tidak boleh mengandung spasi atau simbol laintotal_hargatotal harga, total$

Contoh nama yang melanggar aturan akan langsung ditolak oleh interpreter Python:

python
2total = 100
print(2total)

Output yang Dihasilkan:

text
SyntaxError: invalid decimal literal

Interpreter 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:

python
import keyword

print(len(keyword.kwlist))
print(keyword.iskeyword("class"))
print(keyword.iskeyword("kelas"))

Output yang Dihasilkan:

text
35
True
False

Mari kita telaah baris-baris kode di atas:

  1. Baris 1 (import keyword): memuat module keyword dari standard library.
  2. Baris 3 (print(len(keyword.kwlist))): keyword.kwlist berisi daftar seluruh kata kunci (35 buah pada Python 3.12), lalu fungsi len() menghitung jumlahnya.
  3. Baris 4 (print(keyword.iskeyword("class"))): fungsi keyword.iskeyword() memeriksa apakah sebuah string merupakan kata kunci; "class" adalah kata kunci sehingga hasilnya True.
  4. Baris 5 (print(keyword.iskeyword("kelas"))): "kelas" hanyalah nama biasa sehingga hasilnya False.

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:

python
nama = "Budi"
Nama = "Siti"
NAMA = "Ani"
print(nama, Nama, NAMA)

Output yang Dihasilkan:

text
Budi Siti Ani

Gaya 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 apaGayaContoh
Variabel dan functionsnake_casetotal_harga, hitung_diskon()
ClassPascalCaseTaskManager
KonstantaUPPER_SNAKE_CASEMAX_DISKON

Nama yang deskriptif membuat kode membaca seperti kalimat. Perbandingan berikut memperlihatkan bedanya:

python
harga_satuan = 2500
jumlah_barang = 4
total_harga = harga_satuan * jumlah_barang
print(total_harga)

Output yang Dihasilkan:

text
10000

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