Fungsi Python
- Halaman Sebelumnya Pola For Python
- Halaman Berikutnya Lambda Python
Fungsi adalah blok kode yang hanya berjalan saat dipanggil.
Anda dapat memasukkan data (disebut parameter) ke dalam fungsi.
Fungsi dapat mengembalikan data sebagai hasil.
membuat fungsi
Dalam Python, menggunakan def
Kata kunci mendefinisikan fungsi:
Contoh
def fungsi_saya(): print("Hello from a function")
Panggil fungsi
Untuk memanggil fungsi, gunakan nama fungsi diikuti dengan kurung kurawal:
Contoh
def fungsi_saya(): print("Hello from a function") my_function()
Parameter
Informasi dapat disampaikan kepada fungsi.
Parameter ditentukan dalam kurung kurawal setelah nama fungsi. Anda dapat menambahkan sejumlah parameter yang dibutuhkan, dengan memisahkan dengan koma.
Contoh di bawah ini adalah fungsi yang memiliki parameter (fname). Saat memanggil fungsi ini, kami kirimkan sebuah nama, dan digunakan didalam fungsi untuk mencetak nama lengkap:
Contoh
def fungsi_saya(fname): print(fname + " Gates") fungsi_saya("Bill") fungsi_saya("Steve") fungsi_saya("Elon")
Nilai parameter baku
Contoh di bawah ini menunjukkan bagaimana untuk menggunakan nilai parameter baku.
Jika kami panggil fungsi tanpa parameter, maka digunakan nilai baku:
Contoh
def fungsi_sayanegara = "China"(): print("Saya berasal dari " + country) my_function("Sweden") my_function("India") my_function() my_function("Brazil")
Mengirim dengan List
Parameter yang dikirim ke fungsi dapat berupa apapun tipe data (string, angka, daftar, kamus, dll), dan di dalam fungsi dianggap tipe data yang sama.
Contohnya, jika Anda mengirim List sebagai parameter, saat ia sampai ke fungsi masih akan tetap List (daftar):
Contoh
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
Nilai kembalian
Untuk membuat fungsi mengembalikan nilai, gunakan return
Pernyataan:
Contoh
def my_function(x): return 5 * x print(my_function(3)) print(my_function(5)) print(my_function(9))
Parameter kata kunci
Anda juga dapat mengirim parameter menggunakan sintaks key = value.
Urutan parameter tak penting.
Contoh
def my_function(child3, child2, child1): print("Anak terkecil adalah " + child3) my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
Dalam dokumentasi Python, kata kunci "keyword parameter" sering disingkat dengan kwargs.
Parameter apapun
Jika Anda tidak tahu berapa banyak parameter yang akan disampaikan ke fungsi Anda, tambahkan * di depan nama parameter dalam definisi fungsi.
Dengan demikian, fungsi akan menerima tuple parameter dan dapat mengakses setiap item:
Contoh
Jika jumlah parameter yang diketahui belum diketahui, tambahkan * di depan nama parameter.
def my_function(*kids): print("Anak terkecil adalah " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
Pernyataan pass
Pengaturan fungsi tidak boleh kosong, tetapi jika Anda menulis pengaturan fungsi yang kosong karena alasan tertentu, gunakan pernyataan pass untuk menghindari kesalahan.
Contoh
def myfunction: lanjutkan
Rekursi
Python juga menerima rekursi fungsi, yang berarti fungsi yang didefiniskan dapat memanggil dirinya sendiri.
Rekursi adalah konsep umum dalam matematika dan pemrograman. Ini berarti fungsi memanggil dirinya sendiri. Manfaatnya adalah dapat mengakses data secara berulang-ulang untuk mencapai hasil.
Pengembang harus sangat hati-hati dengan rekursi, karena mudah menulis fungsi yang tidak berhenti, atau menggunakan memori atau kapasitas prosesor yang berlebih. Namun, setelah ditulis dengan benar, rekursi dapat menjadi metode pemrograman yang sangat efektif dan matematika yang indah.
Dalam contoh ini,tri_recursion()
didefiniskan sebagai fungsi yang memanggil dirinya sendiri ("recurse"). Kita menggunakan variabel k sebagai data, dan setiap rekursi mengurangi (-1). Rekursi berhenti saat kondisi tidak lebih besar dari 0 (misalnya saat ia 0).
Untuk pengembang baru, mungkin memerlukan waktu untuk memahami bagaimana ia bekerja, cara terbaik adalah menguji dan mengubahnya.
Contoh
Contoh rekursi:
def tri_recursion(k): jika(k>0): result = k+tri_recursion(k-1) print(result) else: result = 0 kembalikan result print("\n\nContoh Recursive Results") tri_recursion(6)
- Halaman Sebelumnya Pola For Python
- Halaman Berikutnya Lambda Python