Tipe Data & Konversi
Mengenal int, float, str, bool, None, memeriksa tipe, dan mengonversinya.
Tipe data dasar
| Tipe | Contoh | Keterangan |
|---|---|---|
int | 42, -7, 1_000_000 | Bilangan bulat, tanpa batas ukuran |
float | 3.14, 2e3 | Bilangan desimal |
str | "Python", 'halo' | Teks |
bool | True, False | Benar / salah (huruf awal besar!) |
NoneType | None | "Tidak ada nilai" |
Periksa tipe dengan type():
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("Go")) # <class 'str'>
print(type(None)) # <class 'NoneType'>
Python bertipe dinamis tetapi ketat
- Dinamis: variable boleh berganti tipe (
x = 1lalux = "satu"). - Ketat: tipe berbeda tidak otomatis dicampur:
"5" + 3→TypeError.
Konversi tipe (casting)
int("42") # 42
int(3.9) # 3 (dipotong, BUKAN dibulatkan)
float("2.5") # 2.5
str(100) # "100"
bool(0) # False
Jika teks tidak bisa dikonversi (int("abc")) Python melempar ValueError.
Nilai "truthy" dan "falsy"
Nilai yang dianggap False saat dites: 0, 0.0, "" (string kosong), [], {}, (), set(), None. Selain itu dianggap True.
print(bool("")) # False
print(bool("0")) # True (string tidak kosong)
Bilangan besar dan desimal
print(2 ** 100) # 1267650600228229401496703205376
print(0.1 + 0.2) # 0.30000000000000004 (sifat float di semua bahasa)
print(round(0.1 + 0.2, 2)) # 0.3
Untuk uang, pertimbangkan decimal.Decimal atau simpan dalam satuan terkecil (sen).
Fungsi bawaan yang berguna
abs(-5), round(3.14159, 2), max(1, 9, 4), min(...), len("teks"), isinstance(x, int).
None
None mewakili ketiadaan nilai (mirip null). Dites dengan is None:
hasil = None
if hasil is None:
print("belum ada hasil")