Fungsi Python Contoh: Panggilan, lekukan, Hujah & Nilai Pulangan

Isi kandungan:

Anonim

Apakah Fungsi di Python?

A Fungsi dalam Python adalah sekeping kod yang berjalan apabila ia dirujuk. Ini digunakan untuk menggunakan kod di lebih dari satu tempat dalam program. Ia juga dipanggil kaedah atau prosedur. Python menyediakan banyak fungsi terbina dalam seperti cetak (), input (), menyusun (), exec (), dan lain-lain tetapi ia juga memberi kebebasan untuk membuat fungsi anda sendiri.

Dalam tutorial ini, kita akan belajar

  • Cara menentukan dan memanggil fungsi di Python
  • Kepentingan Lekukan (Ruang) di Python
  • Bagaimana Nilai Pulangan Fungsi?
  • Hujah dalam Fungsi

Cara menentukan dan memanggil fungsi di Python

Fungsi dalam Python ditakrifkan oleh pernyataan "def" diikuti dengan nama fungsi dan tanda kurung (())

Contoh:

Mari kita tentukan fungsi dengan menggunakan perintah "def func1 (): dan panggil fungsi. Keluaran fungsi tersebut adalah "Saya sedang belajar fungsi Python".

Fungsi print func1 () memanggil def func1 (): dan mencetak arahan " Saya belajar fungsi Python Tiada. "

Terdapat sekumpulan peraturan di Python untuk menentukan fungsi.

  • Sebarang argumen atau parameter input harus diletakkan dalam kurungan ini
  • Pernyataan pertama fungsi boleh menjadi penyataan pilihan - dokstring atau rentetan dokumentasi fungsi
  • Kod dalam setiap fungsi bermula dengan titik dua (:) dan harus lekukan (spasi)
  • Penyataan pengembalian (ekspresi) keluar dari fungsi, secara opsional mengembalikan nilai kepada pemanggil. Penyataan pengembalian tanpa argumen adalah sama dengan pengembalian Tiada.

Kepentingan Lekukan (Ruang) di Python

Sebelum kita membiasakan diri dengan fungsi Python, penting untuk kita memahami peraturan lekukan untuk menyatakan fungsi Python dan peraturan ini berlaku untuk elemen Python lain seperti menyatakan keadaan, gelung atau pemboleh ubah.

Python mengikuti gaya lekukan tertentu untuk menentukan kodnya, kerana fungsi Python tidak mempunyai permulaan atau akhir yang eksplisit seperti pendakap keriting untuk menunjukkan permulaan dan berhenti untuk fungsi, mereka harus bergantung pada lekukan ini . Di sini kita mengambil contoh mudah dengan perintah "cetak". Semasa kita menulis fungsi "cetak" tepat di bawah def func 1 (): Ini akan menunjukkan " ralat lekukan: dijangkakan blok lekukan ".

Sekarang, apabila anda menambahkan indent (spasi) di depan fungsi "cetak", ia harus mencetak seperti yang diharapkan.

Sekurang-kurangnya, satu inden cukup untuk membuat kod anda berjaya. Tetapi sebagai amalan terbaik, disarankan untuk meninggalkan sekitar 3-4 indent untuk memanggil fungsi anda .

Juga perlu bahawa semasa menyatakan lekukan, anda harus mengekalkan inden yang sama untuk sisa kod anda . Contohnya, dalam tangkapan skrin di bawah ketika kita memanggil pernyataan lain "masih dalam func1" dan apabila tidak dinyatakan tepat di bawah pernyataan cetak pertama, ia akan menunjukkan ralat lekukan "unindent tidak sepadan dengan tahap lekukan yang lain."

Sekarang, apabila kita menerapkan lekukan yang sama untuk kedua-dua pernyataan dan menyelaraskannya dalam baris yang sama, ia memberikan hasil yang diharapkan.

Bagaimana Nilai Pulangan Fungsi?

Perintah kembali dalam Python menentukan nilai apa yang harus diberikan kepada pemanggil fungsi.

Mari fahami ini dengan contoh berikut

Langkah 1) Di sini - kita melihat bila fungsi tidak "kembali". Sebagai contoh, kita mahukan kuadrat 4, dan ia harus memberi jawapan "16" apabila kod tersebut dilaksanakan. Yang diberikannya ketika kita hanya menggunakan kod "cetak x * x", tetapi ketika anda memanggil fungsi "cetak persegi" ia memberikan "Tiada" sebagai output. Ini kerana semasa anda memanggil fungsi, rekursi tidak berlaku dan jatuh pada akhir fungsi. Python mengembalikan "Tiada" kerana gagal pada akhir fungsi.

Langkah 2) Untuk menjadikannya lebih jelas, kami mengganti perintah cetak dengan perintah tugasan. Mari periksa output.

Apabila anda menjalankan perintah "print square (4)" ia benar-benar mengembalikan nilai objek kerana kita tidak mempunyai fungsi khusus untuk berjalan di sini, ia mengembalikan "None".

Langkah 3) Sekarang, di sini kita akan melihat cara mendapatkan output menggunakan arahan "return". Apabila anda menggunakan fungsi "kembali" dan melaksanakan kodnya, ia akan memberikan output "16."

Langkah 4) Fungsi di Python sendiri adalah objek, dan objek mempunyai beberapa nilai. Kita di sini akan melihat bagaimana Python memperlakukan objek. Apabila anda menjalankan perintah "print square", ia mengembalikan nilai objek. Oleh kerana kami belum menyampaikan argumen, kami tidak mempunyai fungsi khusus untuk berjalan di sini, ia mengembalikan nilai lalai (0x021B2D30) yang merupakan lokasi objek. Dalam program Python praktikal, anda mungkin tidak perlu melakukan ini.

Hujah dalam Fungsi

Argumen adalah nilai yang diteruskan ke fungsi ketika dipanggil.

Dengan kata lain pada sisi panggilan, itu adalah argumen dan di sisi fungsi itu adalah parameter.

Mari lihat bagaimana Python Args berfungsi -

Langkah 1) Hujah dinyatakan dalam definisi fungsi. Semasa memanggil fungsi, anda dapat menyampaikan nilai untuk argumen seperti ditunjukkan di bawah

Langkah 2) Untuk menyatakan nilai default argumen, berikan nilai pada definisi fungsi.

Contoh: x tidak mempunyai nilai lalai. Nilai lalai y = 0. Apabila kita hanya menyediakan satu argumen sambil memanggil fungsi darab, Python memberikan nilai yang diberikan kepada x sambil mengekalkan nilai y = 0. Oleh itu, darab x * y = 0

Langkah 3) Kali ini kita akan mengubah nilainya menjadi y = 2 dan bukan nilai lalai y = 0, dan akan mengembalikan output sebagai (4x2) = 8.

Langkah 4) Anda juga boleh mengubah urutan di mana argumen dapat disampaikan di Python. Di sini kita telah membalikkan susunan nilai x dan y kepada x = 4 dan y = 2.

Langkah 5) Beberapa Argumen juga boleh disampaikan sebagai larik. Di sini dalam contoh kita memanggil multipel args (1,2,3,4,5) dengan memanggil fungsi (* args).

Contoh: Kami menyatakan beberapa args sebagai nombor (1,2,3,4,5) ketika kami memanggil fungsi (* args); ia mencetak output sebagai (1,2,3,4,5)

Petua :

  • Di Python 2.7. overloading fungsi tidak disokong di Python. Fungsi Overloading adalah keupayaan untuk membuat beberapa kaedah dengan nama yang sama dengan pelaksanaan yang berbeza. Overloading Fungsi disokong sepenuhnya di Python 3
  • Terdapat banyak kekeliruan antara kaedah dan fungsi. Kaedah dalam Python dikaitkan dengan keadaan objek sementara fungsi tidak. Apabila Python memanggil kaedah, ia mengikat parameter pertama panggilan itu ke rujukan objek yang sesuai. Dengan kata mudah, fungsi mandiri dalam Python adalah "fungsi", sedangkan fungsi yang merupakan atribut kelas atau contoh adalah "kaedah".

Inilah kod Python 3 yang lengkap

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

Inilah kod Python 2 yang lengkap

#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 sekeping kod yang boleh digunakan semula yang digunakan untuk melakukan tindakan tunggal yang berkaitan. Dalam artikel ini, kita akan melihat

  • Fungsi yang ditentukan oleh pernyataan def
  • Blok kod dalam setiap fungsi bermula dengan titik dua (:) dan harus lekukan (spasi)
  • Sebarang argumen atau parameter input harus diletakkan dalam kurungan ini, dll.
  • Sekurang-kurangnya satu indent harus ditinggalkan sebelum kod setelah menyatakan fungsi
  • Gaya inden yang sama harus dijaga sepanjang kod dalam fungsi def
  • Untuk amalan terbaik tiga atau empat inden dianggap terbaik sebelum pernyataan
  • Anda boleh menggunakan perintah "kembali" untuk mengembalikan nilai ke fungsi panggilan.
  • Python akan mencetak nilai rawak seperti (0x021B2D30) apabila argumen tidak diberikan ke fungsi panggilan. Contoh "fungsi cetak."
  • Di sisi panggilan, itu adalah argumen dan di sisi fungsi itu adalah parameter
  • Nilai lalai dalam argumen - Apabila kami hanya menyediakan satu argumen semasa memanggil fungsi darab atau fungsi lain, Python memberikan argumen lain secara lalai
  • Python membolehkan anda membalikkan urutan argumen juga