Type hints dan walrus :=
Anotasi tipe opsional dan operator penugasan dalam ekspresi.
Pahami konsepnya
Python tetap dinamis, tapi type hints menambah petunjuk tipe yang dibaca alat (mypy, IDE): def hitung(harga: int, diskon: float) -> float:. Python tidak otomatis menolak argumen yang salah tipe, tetapi ekspresi anotasi diproses saat fungsi didefinisikan; karena itu anotasi yang belum didukung runtime tetap bisa menyebabkan error. Manfaatnya: autocomplete lebih akurat, bug tipe tertangkap sebelum jalan, dan kode tim lebih terbaca.
Tipe yang umum: int, float, str, bool, list[int] (Python 3.9+), dict[str, int], Optional[int] (bisa None), Union[int, str]. Pada Python 3.8 di editor situs, gunakan List[int] dari typing sebagai pengganti list[int].
Walrus operator := (Python 3.8+) menugaskan dan menghasilkan nilai dalam SATU ekspresi: while (teks := input()) != "selesai": membaca dan memeriksa sekaligus. Mengurangi satu baris saat hasil perlu diperiksa sebelum dipakai.
Coba contoh kode
from typing import List
def hitung_diskon(harga: int, persen: float) -> float:
return harga * (1 - persen / 100)
def cari_maks(data: List[int]) -> int:
maks: int = data[0]
for n in data:
if n > maks:
maks = n
return maks
print(hitung_diskon(100000, 20))
print(cari_maks([3, 8, 1, 9, 4]))
# walrus
teks = ""
while (teks := input("Kata (selesai=stop): ")) != "selesai":
print(f"Panjang: {len(teks)}")Anotasi harga: int, persen: float memberi tahu pembaca dan alat apa yang diharapkan tanpa mengunci runtime. Walrus menggabungkan input() dan pemeriksaan != dalam satu kondisi while — tanpa perlu variabel sementara di luar loop.
Latihan singkat
Uji: hitung_rata([10.0,20.0,30.0]) → `20.0`.