Fungsi 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()

Jalankan Contoh

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")

Jalankan Contoh

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")

Jalankan Contoh

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)

Jalankan Contoh

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))

Jalankan Contoh

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")

Jalankan Contoh

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")

Jalankan Contoh

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

Jalankan Contoh

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)

Jalankan Contoh