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

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

Jalankan Contoh

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

Jalankan Contoh

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

Jalankan Contoh

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)

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

Jalankan Contoh

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

Jalankan Contoh

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

Jalankan Contoh

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)

Jalankan Contoh