Apa Fungsi di Python?
Sebuah Fungsi Python adalah bagian dari kode yang berjalan ketika dirujuk. Ini digunakan untuk memanfaatkan kode di lebih dari satu tempat dalam sebuah program. Ini juga disebut metode atau prosedur. Python menyediakan banyak fungsi bawaan seperti print (), input (), compile (), exec (), dll. Tetapi juga memberikan kebebasan untuk membuat fungsi Anda sendiri.
Dalam tutorial ini, kita akan belajar
- Cara mendefinisikan dan memanggil fungsi dengan Python
- Signifikansi Indentasi (Spasi) dengan Python
- Bagaimana Fungsi Mengembalikan Nilai?
- Argumen dalam Fungsi
Cara mendefinisikan dan memanggil fungsi dengan Python
Fungsi dalam Python ditentukan oleh pernyataan "def" diikuti dengan nama fungsi dan tanda kurung (())
Contoh:
Mari kita definisikan sebuah fungsi dengan menggunakan perintah "def func1 (): dan memanggil fungsi tersebut. Output dari fungsi ini adalah "Saya sedang mempelajari fungsi Python".
Fungsi print func1 () memanggil def func1 (): dan mencetak perintah " Saya sedang mempelajari fungsi Python Tidak ada " .
Ada seperangkat aturan dalam Python untuk mendefinisikan suatu fungsi.
- Args atau parameter masukan apa pun harus ditempatkan di dalam tanda kurung ini
- Pernyataan fungsi pertama dapat berupa pernyataan opsional- docstring atau string dokumentasi dari fungsi tersebut
- Kode dalam setiap fungsi dimulai dengan titik dua (:) dan harus diberi indentasi (spasi)
- Pernyataan kembali (ekspresi) keluar dari suatu fungsi, secara opsional meneruskan nilai ke pemanggil. Pernyataan return tanpa args sama dengan return None.
Signifikansi Indentasi (Spasi) dengan Python
Sebelum kita membiasakan diri dengan fungsi Python, penting bagi kita untuk memahami aturan indentasi untuk mendeklarasikan fungsi Python dan aturan ini berlaku untuk elemen Python lainnya serta mendeklarasikan kondisi, loop, atau variabel.
Python mengikuti gaya lekukan tertentu untuk mendefinisikan kode, karena fungsi Python tidak memiliki awal atau akhir eksplisit seperti tanda kurung kurawal untuk menunjukkan awal dan akhir fungsi, mereka harus bergantung pada lekukan ini . Di sini kami mengambil contoh sederhana dengan perintah "print". Ketika kita menulis fungsi "print" tepat di bawah def func 1 (): Ini akan menunjukkan " kesalahan indentasi: diharapkan blok indentasi ".
Sekarang, ketika Anda menambahkan indentasi (spasi) di depan fungsi "print", itu akan dicetak seperti yang diharapkan.
Setidaknya, satu indentasi sudah cukup untuk membuat kode Anda berfungsi dengan sukses. Tetapi sebagai praktik terbaik, disarankan untuk meninggalkan sekitar 3-4 indentasi untuk memanggil fungsi Anda .
Penting juga bahwa saat mendeklarasikan indentasi, Anda harus mempertahankan indentasi yang sama untuk sisa kode Anda . Misalnya, di bawah tangkapan layar ketika kita memanggil pernyataan lain "masih dalam func1" dan ketika tidak dideklarasikan tepat di bawah pernyataan cetak pertama itu akan menunjukkan kesalahan indentasi "unindent tidak cocok dengan tingkat indentasi lainnya."
Sekarang, ketika kita menerapkan indentasi yang sama untuk kedua pernyataan dan menyelaraskannya di baris yang sama, itu memberikan keluaran yang diharapkan.
Bagaimana Fungsi Mengembalikan Nilai?
Perintah return dengan Python menentukan nilai apa yang akan diberikan kembali kepada pemanggil dari fungsi tersebut.
Mari kita pahami ini dengan contoh berikut
Langkah 1) Di sini - kita melihat ketika fungsi tidak "kembali". Misalnya, kita ingin kuadrat 4, dan harus memberikan jawaban "16" saat kode dijalankan. Yang diberikan ketika kita hanya menggunakan kode "print x * x", tetapi ketika Anda memanggil fungsi "print square" itu memberikan "None" sebagai output. Ini karena ketika Anda memanggil fungsi tersebut, rekursi tidak terjadi dan jatuh dari akhir fungsi. Python mengembalikan "Tidak ada" untuk gagal di akhir fungsi.
Langkah 2) Untuk membuat ini lebih jelas kita mengganti perintah cetak dengan perintah penugasan. Mari kita periksa hasilnya.
Ketika Anda menjalankan perintah "print square (4)" itu benar-benar mengembalikan nilai objek karena kita tidak memiliki fungsi khusus untuk dijalankan di sini, ia mengembalikan "Tidak ada".
Langkah 3) Sekarang, di sini kita akan melihat bagaimana mengambil output menggunakan perintah "return". Ketika Anda menggunakan fungsi "return" dan menjalankan kode, itu akan menghasilkan keluaran "16."
Langkah 4) Fungsi dalam Python sendiri adalah sebuah objek, dan sebuah objek memiliki beberapa nilai. Di sini kita akan melihat bagaimana Python memperlakukan suatu objek. Ketika Anda menjalankan perintah "print square" itu mengembalikan nilai objek. Karena kami belum memberikan argumen apa pun, kami tidak memiliki fungsi khusus untuk dijalankan di sini, ia mengembalikan nilai default (0x021B2D30) yang merupakan lokasi objek. Dalam program Python praktis, Anda mungkin tidak perlu melakukan ini.
Argumen dalam Fungsi
Argumen adalah nilai yang diteruskan ke fungsi saat dipanggil.
Dengan kata lain di sisi pemanggil, itu adalah argumen dan di sisi fungsi itu adalah parameter.
Mari kita lihat cara kerja Python Args -
Langkah 1) Argumen dideklarasikan dalam definisi fungsi. Saat memanggil fungsi, Anda bisa meneruskan nilai untuk argumen itu seperti yang ditunjukkan di bawah ini
Langkah 2) Untuk mendeklarasikan nilai default argumen, tetapkan nilai pada definisi fungsi.
Contoh: x tidak memiliki nilai default. Nilai default y = 0. Ketika kami menyediakan hanya satu argumen saat memanggil fungsi perkalian, Python memberikan nilai yang diberikan ke x sambil menjaga nilai y = 0. Maka dari itu perkalian dari x * y = 0
Langkah 3) Kali ini kita akan mengubah nilainya menjadi y = 2 alih-alih nilai default y = 0, dan itu akan mengembalikan output sebagai (4x2) = 8.
Langkah 4) Anda juga dapat mengubah urutan argumen yang dapat diteruskan dengan Python. Di sini kita telah membalik urutan nilai x dan y menjadi x = 4 dan y = 2.
Langkah 5) Beberapa Argumen juga dapat diteruskan sebagai array. Di sini, di contoh kita memanggil beberapa args (1,2,3,4,5) dengan memanggil fungsi (* args).
Contoh: Kita mendeklarasikan beberapa args sebagai angka (1,2,3,4,5) saat kita memanggil fungsi (* args); itu mencetak output sebagai (1,2,3,4,5)
Tips :
- Dengan Python 2.7. function overloading tidak didukung di Python. Fungsi Overloading adalah kemampuan untuk membuat beberapa metode dengan nama yang sama dengan implementasi yang berbeda. Function Overloading didukung penuh di Python 3
- Ada kebingungan yang cukup besar antara metode dan fungsi. Metode dalam Python dikaitkan dengan contoh objek sedangkan fungsi tidak. Ketika Python memanggil sebuah metode, itu mengikat parameter pertama dari panggilan itu ke referensi objek yang sesuai. Dengan kata sederhana, fungsi mandiri dalam Python adalah "fungsi", sedangkan fungsi yang merupakan atribut kelas atau instance adalah "metode".
Berikut adalah kode Python 3 lengkapnya
#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))
Berikut adalah kode Python 2 lengkapnya
#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)
Ringkasan:
Fungsi di Python adalah bagian dari kode yang dapat digunakan kembali yang digunakan untuk melakukan tindakan tunggal terkait. Pada artikel ini, kita akan lihat
- Fungsi ditentukan oleh pernyataan def
- Blok kode dalam setiap fungsi dimulai dengan titik dua (:) dan harus diberi indentasi (spasi)
- Setiap argumen atau parameter masukan harus ditempatkan di dalam tanda kurung ini, dll.
- Setidaknya satu indentasi harus ditinggalkan sebelum kode setelah mendeklarasikan fungsi
- Gaya indentasi yang sama harus dipertahankan di seluruh kode dalam fungsi def
- Untuk praktik terbaik, tiga atau empat indentasi dianggap paling baik sebelum pernyataan
- Anda dapat menggunakan perintah "return" untuk mengembalikan nilai ke pemanggilan fungsi.
- Python akan mencetak nilai acak seperti (0x021B2D30) ketika argumen tidak diberikan ke fungsi pemanggil. Contoh "fungsi cetak".
- Di sisi pemanggil, ini adalah argumen dan di sisi fungsi itu adalah parameter
- Nilai default dalam argumen - Ketika kami hanya menyediakan satu argumen saat memanggil fungsi perkalian atau fungsi lainnya, Python menetapkan argumen lain secara default
- Python juga memungkinkan Anda untuk membalik urutan argumen