Fungsi Lanjut Python

 Fungsi Lanjut Python


Saat sebelum membaca artikel ini, semestinya Anda telah pahami lebih dulu mengenai peranan. Artikel ini mengulas kelanjutan dari dasar peranan di Python. Peranan kelanjutan ini terbagi dalam rungsi rekursi dan peranan lambda (peranan anonim).


Fungsi Rekursi


Peranan rekursi ialah peranan yang panggil dirinya secara berulang-ulang . Maka pada tubuh peranan kita panggil peranan tersebut.


Dalam matematika, kita mengenali mengenai factorial. Factorial ialah perkalian bilangan asli berturut - ikut dari n s/d 1. Factorial n dinotasikan dengan n! di mana n! = n (n - 1)(n - 2)(n - 3)... (3)(2)(1). Factorial ialah contoh dari peranan rekursi.


script.py

IPython Shell


Powered by DataCamp


Pada contoh di atas, peranan factorial() panggil dirinya secara rekursi. Contoh dari proses peranan di atas ialah sebagai berikut:


factorial(4)

4 * factorial(3)

4 * 3 * factorial(2)

4 * 3 * 2 * 1

4 * 3 * 2

4 * 6

24


Rekursi peranan usai saat bilangan telah menyusut jadi 1. Ini dikatakan sebagai keadaan dasar (base condition). Tiap peranan rekursi harus mempunyai keadaan dasar. Jika tidak, karena itu peranan tidak pernah stop (infinite loop).


Keuntungan Menggunakan Rekursi


Peranan rekursi membuat code kelihatan lebih clean dan menawan

Peranan yang sulit dapat diperpecah jadi lebih kecil dengan rekursi

Menghidupkan data berurutan lebih gampang memakai rekursi daripada memakai iterasi bersarang.


Kerugian Menggunakan Rekursi


Kadang nalar dibalik rekursi cukup sulit untuk dituruti

Panggilan rekursi kurang efisien karena makan semakin banyak memory

Peranan rekursi lebih susah untuk didebug


Fungsi Anonim (Lambda)


Salah satunya feature python yang cukup bermanfaat ialah peranan anonim. Disebutkan peranan anonim karena peranan ini tidak diberi nama di saat diartikan.


Pada peranan biasa kita memakai keyword def untuk membuat, sedang peranan anonim ini kita memakai keyword lambda. Oleh karenanya, peranan anonim ini juga dikenal dengan peranan lambda.


Sintaks Fungsi Lambda


Peranan lambda mempunyai sintaks sebagai berikut:


lambda arguments: expression


Peranan lambda dapat memiliki banyak argument, tetapi cuman bisa mempunyai satu gestur. Gestur tersebut yang dibalikkan sebagai dari hasil peranan. Peranan lambda dapat kita taruh dalam faktor untuk dipakai setelah itu.


script.py

IPython Shell


Powered by DataCamp


Tanpa memakai lambda, contoh peranan di atas bisa menjadi sebagai berikut:


>>> def kuadrat(x):

return x**2

>>> kuadrat(3)

9


>>> def kali(x,y):

return x*y

>>> kali(4,3)

12


Pemakaian Peranan Lambda


Lambda dipakai di saat kita memerlukan peranan anonim untuk saat yang cepat. Di Python, peranan lambda kerap dipakai sebagai argument untuk peranan yang memakai peranan lain sebagai argument seperti peranan filter(), map(), dan sebagainya.


Contoh Pemakaian Lambda Dengan Peranan filter()


Peranan filter ambil 2 buah argument, yakni sebuah peranan dan sebuah daftar.


Sesuai namanya filter (penyaring), peranan akan mengetes semua anggota daftar pada peranan, apa dan ambil hasil yang berharga True. Keluaran hasilnya ialah sebuah daftar baru hasil filter. Berikut misalnya:


script.py

IPython Shell


Powered by DataCamp


Contoh Pemakaian Lambda Dengan Peranan map()


Peranan map() ambil 2 buah argument, yakni sebuah peranan dan sebuah daftar.


Peranan map() akan memetakkan atau panggil peranan dengan 1 persatu anggota daftar sebagai argument-nya. Hasilnya ialah daftar baru dari hasil keluaran peranan pada masing-masing anggota daftar.


Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال