Fungsi: def, return, rekursi
Kemas langkah bernama, kembalikan hasil, dan panggil diri sendiri.
Pahami konsepnya
Fungsi dideklarasikan dengan def nama(param): lalu blok berindentasi. return mengirim hasil ke pemanggil dan segera menghentikan fungsi; tanpa return, Python mengembalikan None. Fungsi bisa mengembalikan beberapa nilai sekaligus sebagai tuple: return min, max.
Rekursi adalah fungsi yang memanggil dirinya sendiri untuk versi lebih kecil dari masalahnya. Kasus klasik faktorial: faktorial(5) = 5 * faktorial(4) = ... = 5*4*3*2*1. Syarat wajib: KASUS DASAR yang menghentikan pemanggilan — faktorial(1) = 1 — tanpanya rekursi berputar selamanya.
Docstring adalah string tiga-kutip pertama dalam fungsi — dokumentasi resmi Python: help(nama_fungsi) membacanya. Konvensi singkat menjelaskan apa, parameter, dan nilai balik.
Coba contoh kode
def diskon(harga, persen):
"""Hitung nilai diskon dari harga."""
return harga * persen / 100
def faktorial(n):
if n <= 1:
return 1
return n * faktorial(n - 1)
print(diskon(100000, 20))
print(faktorial(5))
print(help(diskon))diskon mengembalikan satu nilai; faktorial memanggil dirinya sendiri dengan n-1 sampai kasus dasar n<=1 menghentikannya. help() membaca docstring dan menampilkannya sebagai dokumentasi.
Latihan singkat
Uji: fib(6) rekursif — harus `8`.