Operator & Ekspresi
Operator aritmatika, perbandingan, logika, dan urutan pengerjaannya.
Operator aritmatika
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
+ - * | tambah, kurang, kali | 5 * 3 | 15 |
/ | bagi (selalu float) | 7 / 2 | 3.5 |
// | bagi bulat (dibulatkan ke bawah) | 7 // 2 | 3 |
% | sisa bagi (modulus) | 7 % 2 | 1 |
** | pangkat | 2 ** 10 | 1024 |
Hati-hati: // pada bilangan negatif membulatkan ke bawah: -7 // 2 hasilnya -4.
Fungsi divmod(17, 5) mengembalikan hasil bagi dan sisa sekaligus: (3, 2).
Operator perbandingan
==, !=, <, >, <=, >= menghasilkan bool.
print(5 == 5.0) # True
print("a" < "b") # True (urutan abjad)
Python mengizinkan perbandingan berantai:
x = 5
print(1 < x < 10) # True
Operator logika
and, or, not — ditulis dengan kata, bukan simbol.
umur = 20
punya_sim = True
print(umur >= 17 and punya_sim) # True
print(not punya_sim) # False
Evaluasi bersifat short-circuit: pada A and B, jika A sudah False maka B tidak dievaluasi.
Operator identitas dan keanggotaan
x is None # apakah objek yang sama
"a" in "kata" # True
3 not in [1, 2] # True
Gunakan == untuk membandingkan nilai, dan is hanya untuk None/True/False.
Urutan pengerjaan (precedence)
Dari tertinggi ke terendah: ** → * / // % → + - → perbandingan → not → and → or.
print(2 + 3 * 4) # 14, bukan 20
print((2 + 3) * 4) # 20
Gunakan kurung agar maksudmu jelas.
Operator pada string dan list
"ha" * 3 # "hahaha"
"Py" + "thon" # "Python"
[1, 2] + [3] # [1, 2, 3]
Contoh: cek genap dan kabisat
n = 10
print(n % 2 == 0) # genap?
tahun = 2024
print(tahun % 4 == 0 and (tahun % 100 != 0 or tahun % 400 == 0)) # kabisat