Fungsi Python
- Hal Sebelumnya Perulangan For Python
- Hal 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
Di Python, menggunakan def
Kunci mendefinisikan fungsi:
Contoh
def fungsi_saya(): print("Hello from a function")
Panggil fungsi
Untuk memanggil fungsi, gunakan nama fungsi diikuti dengan kurung:
Contoh
def fungsi_saya(): print("Hello from a function") my_function()
Parameter
Informasi dapat disampaikan ke fungsi.
Parameter ditentukan di dalam kurung panah setelah nama fungsi. Anda dapat menambahkan seberapa banyak parameter yang Anda butuhkan, hanya perlu dipisahkan dengan koma.
Contoh di bawah ini adalah fungsi yang memiliki parameter (nama). Saat memanggil fungsi ini, kami mengirimkan sebuah nama, dan di dalam fungsi kami gunakan untuk mencetak nama lengkap:
Contoh
def fungsi_saya(nama): print(nama + " Gates") fungsi_saya("Bill") fungsi_saya("Steve") fungsi_saya("Elon")
Nilai parameter baku
Contoh di bawah ini menunjukkan bagaimana cara menggunakan nilai parameter baku.
Jika kami memanggil fungsi tanpa parameter, maka digunakan nilai baku:
Contoh
def fungsi_saya(kota = "China"): print("Saya berasal dari " + country) my_function("Sweden") my_function("India") my_function() my_function("Brazil")
Mengirim List
Parameter yang dikirim ke fungsi dapat berupa berbagai 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 menjadi 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 mengirimkan parameter dengan 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 "parameter kata kunci" biasanya disingkat menjadi kwargs.
Parameter apapun
Jika Anda tidak tahu berapa banyak parameter yang akan disampaikan ke fungsi Anda, tambahkan * di depan nama parameter definisi fungsi.
Dengan demikian, fungsi akan menerima tuple parameter dan dapat mengakses setiap item:
Contoh
Jika jumlah parameter yang diketahui tidak diketahui, tambahkan * di depan nama parameter.
def my_function(*kids): print("Anak terkecil adalah " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
Pernyataan pass
Definisi fungsi tidak boleh kosong, tetapi jika Anda menulis definisi fungsi tanpa konten karena alasan yang ada, gunakan pernyataan pass untuk menghindari kesalahan.
Contoh
def myfunction: lakukan
Rekursi
Python juga menerima rekursi fungsi, yang berarti fungsi yang didefinisikan dapat memanggil dirinya sendiri.
Rekursi adalah konsep yang 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 dalam menulis rekursi, karena mudah menulis fungsi yang tak berhenti, atau memakai 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()
didefinisikan 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 (contohnya saatnya 0).
Untuk pengembang baru, mungkin memerlukan waktu untuk mengerti prinsip kerjanya, cara terbaik adalah menguji dan mengubahnya.
Contoh
Contoh rekursi:
def tri_recursion(k): jika(k>0): hasil = k+tri_recursion(k-1) print(hasil) else: hasil = 0 kembalikan hasil print("\n\nContoh Recursion") tri_recursion(6)
- Hal Sebelumnya Perulangan For Python
- Hal Berikutnya Lambda Python