Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Fungsi ialah konsep penting dalam pengaturcaraan yang membolehkan anda mengurus dan menggunakan semula blok kod. Mengetahui cara memanggil fungsi dalam Python adalah kemahiran utama untuk dipelajari.
Dalam tutorial ini, anda akan mempelajari asas-asas fungsi panggilan, bersama-sama dengan beberapa petua untuk menulis kod cekap yang lebih mudah difahami.
Menguasai fungsi bukan sahaja akan membantu anda mencipta kod yang lebih serba boleh tetapi juga menyelaraskan proses pengaturcaraan anda dan meningkatkan kecekapan keseluruhan anda sebagai pembangun.
Fungsi mempunyai prinsip asas yang sama, dan setelah anda menguasai fungsi dalam Python, anda akan dapat mengembangkan pemahaman anda tentang fungsi berbanding bahasa pengaturcaraan lain seperti Java, R, JavaScript, PHP, dll.
Isi kandungan
Apakah Fungsi?
Fungsi dalam Python membolehkan anda mencipta kepingan kod yang boleh digunakan semula yang boleh dipanggil sepanjang program anda, memudahkan kod anda dan meningkatkan kebolehbacaan. Ia melaksanakan tugas tertentu atau set tugas dan boleh dipanggil beberapa kali dalam program.
Mentakrifkan Fungsi dalam Python
Terdapat dua kategori utama fungsi dalam Python:
Bahagian tutorial Python ini memfokuskan pada fungsi yang ditentukan pengguna. Anda akan belajar:
Sintaks Fungsi
Kata def
kunci, diikuti dengan nama fungsi dan kurungan, membolehkan anda menentukan fungsi dalam Python. Badan fungsi diinden dan mengandungi kod yang akan dilaksanakan apabila fungsi dipanggil. Contoh fungsi asas dalam Python diberikan di bawah:
def greet(): print("Hello, World!") greet()
Kata def
kunci mentakrifkan fungsi baharu dengan nama salam. Baris ketiga kod memanggil fungsi, yang melaksanakan kod di dalam fungsi.
Baris print
dalam kod di atas juga merupakan fungsi. Walau bagaimanapun, jika anda bekerja dalam persekitaran Python 2, ia ditakrifkan sebagai pernyataan. Kemudian, dalam Python 3, ia ditukar daripada pernyataan kepada fungsi.
Parameter dan Hujah
Parameter ialah pemegang tempat dalam definisi fungsi, manakala argumen ialah nilai yang diluluskan semasa memanggil fungsi.
Untuk menentukan parameter, masukkannya dalam kurungan definisi fungsi, dipisahkan dengan koma jika terdapat berbilang parameter. Apabila anda memanggil fungsi, anda memberikan nilai input yang dipanggil argumen. Contoh berikut menunjukkan mentakrifkan fungsi yang mengambil dua parameter:
def add_numbers(a, b): kembalikan a+b
Pernyataan return
dalam badan fungsi mengembalikan penambahan dua hujah yang dihantar ke dalamnya. Anda boleh menganggapnya sebagai kalkulator, di mana anda memasukkan nilai dan mendapatkan hasil yang diingini sebagai balasan.
Selepas mentakrifkan fungsi, kita boleh memanggilnya dengan hujah pilihan kita.
add_numbers(3, 5)
Hujah kwargs
kwargs
adalah singkatan untuk "hujah kata kunci" dalam Python. Ia membolehkan anda memanjangkan fleksibiliti fungsi dengan membenarkan pemanggil untuk menentukan sebarang bilangan hujah kata kunci semasa memanggil fungsi tersebut. Argumen kata kunci dihantar sebagai kamus kepada fungsi.
Dalam definisi fungsi, anda boleh menggunakan **
sintaks asterisk berganda sebelum nama parameter untuk menerima hujah kata kunci.
def my_function(**kwargs): untuk kunci, nilai dalam kwargs.items(): print(f"{key} = {value}") my_function(a=1, b=2, c=3)
Dalam contoh ini, kwargs
akan menjadi kamus yang mengandungi hujah kata kunci yang dihantar ke fungsi. Output ditunjukkan dalam imej di bawah:
Memanggil Fungsi
Memanggil fungsi bermakna melaksanakan kod di dalam badan fungsi. Terdapat empat jenis panggilan fungsi dalam Python:
Panggilan Fungsi Asas
Panggilan fungsi asas memanggil fungsi tanpa menghantar sebarang hujah ke dalam fungsi. Selepas mentakrifkan fungsi, anda boleh memanggilnya dengan menggunakan namanya diikuti dengan kurungan.
Jika fungsi tidak mengambil sebarang hujah, kurungan akan kosong. Kod di bawah adalah contoh fungsi asas.
def welcome_message(): print("Selamat Datang ke LuckyTemplates!") welcome_message()
Menjalankan kod di atas memberikan output berikut:
Hujah Kedudukan
Argumen kedudukan ialah jenis argumen yang paling biasa, dan ia dihantar ke fungsi dalam susunan yang sama seperti yang dinyatakan. Berikut ialah contoh panggilan fungsi dengan argumen kedudukan:
def welcome_message(nama): print(f"Selamat Datang ke LuckyTemplates, {nama}!") welcome_message("John")
Dalam contoh di atas, welcome_message()
fungsi mengambil satu hujah, name
. Apabila anda memanggil fungsi ini dengan argumen John
, ia akan mencetak mesej di sebelah nama.
Kod di atas memberikan output berikut:
Hujah Kata Kunci
Satu lagi cara untuk menghantar argumen kepada fungsi adalah dengan menggunakan argumen kata kunci. Argumen kata kunci membolehkan anda menentukan nama parameter bersama-sama dengan nilainya, menjadikan kod lebih mudah dibaca dan mengurangkan peluang untuk menghantar argumen dalam susunan yang salah.
Contoh di bawah menggunakan hujah kata kunci untuk memanggil welcome_message
fungsi:
def welcome_message(nama, mesej='Selamat Datang ke LuckyTemplates!'): cetak(mesej, nama) welcome_message(nama='Alice', mesej='Selamat pagi')
Dalam contoh ini, kami telah menentukan fungsi welcome_message()
yang mempunyai dua parameter, name
, dan message
. Parameter mesej mempunyai argumen lalai Welcome to LuckyTemplates!
apabila memanggil fungsi, kami menggunakan argumen kata kunci untuk menghantar nilai John
, menghasilkan outputWelcome to LuckyTemplates! John.
Nilai Pulangan
Apabila bekerja dengan fungsi, anda selalunya ingin mengembalikan hasil operasi di dalam badan fungsi anda. Nilai pulangan membenarkan fungsi menghantar hasil kembali kepada pemanggil. Dengan memahami cara bekerja dengan nilai pulangan tunggal dan berbilang, anda boleh meningkatkan kefungsian program Python anda.
Nilai Pulangan Tunggal
Fungsi nilai pulangan tunggal mengembalikan satu nilai daripada operasi dalam fungsi.
Contoh fungsi nilai pulangan tunggal diberikan di bawah:
def get_greeting(name): return "Hello, " + name + "!" salam = get_greeting("Alice") cetak(salam)
Dalam contoh di atas, fungsi get_greeting
mengambil nama sebagai hujah fungsinya menyusunnya dan mengembalikan salam yang diperibadikan. Nilai pulangan kemudiannya disimpan dalam ucapan pembolehubah dan dicetak ke konsol.
Berbilang Nilai Pulangan
Kadangkala, anda akan dikehendaki untuk mengembalikan lebih daripada satu nilai daripada fungsi dalam Python. Untuk mencapai ini, anda boleh menggunakan tuple atau senarai untuk membungkus nilai pulangan.
Berikut ialah contoh fungsi nilai pulangan berbilang dalam bahasa pengaturcaraan Python.
def get_name_and_age(): return ("John", 30) name, age = get_name_and_age() print(name) print(age)
Dalam contoh ini, get_name_and_age
ialah fungsi yang mengembalikan tuple dengan dua nilai: a name
dan an age
.
Anda juga boleh mengembalikan senarai nilai daripada fungsi dalam Python . Fungsi di bawah menunjukkan nilai pulangan senarai daripada fungsi.
def hitung_kawasan(tinggi, lebar): kembalikan [tinggi * lebar, (tinggi * lebar) / 2] luas, segitiga_luas = kira_kawasan(10, 5) cetak(luas) cetak(segitiga_luas)
Dalam kes ini, fungsi calculate_areas
mengambil dua argumen, height
, dan width
, dan mengembalikan senarai yang mengandungi luas segi empat tepat dan luas segi tiga.
Melepasi Fungsi Python sebagai Argumen
Python membolehkan anda menghantar fungsi sebagai argumen kepada fungsi lain. Apabila fungsi menerima fungsi lain sebagai hujah, ia dirujuk sebagai fungsi tertib tinggi.
Kod di bawah ialah contoh menghantar fungsi kepada fungsi lain dalam Python:
def square(x): return x * x def double(x): return x * 2 def apply_func(func, x): return func(x) hasil = apply_func(square, 5)
Fungsi Bersarang
Fungsi bersarang ialah fungsi yang ditakrifkan dalam fungsi lain, juga dikenali sebagai fungsi dalaman. Ini boleh berguna apabila membuat penutupan dan kod modular.
Untuk mencipta fungsi bersarang, hanya tentukan fungsi dalam fungsi lain:
def outer_function(x, y): def inner_function(z): return x + y + z result = inner_function(3) return result # Panggil fungsi luaran print(outer_function(1, 2))
Dalam contoh di atas, inner_function ditakrifkan dalam outer_function. Fungsi dalaman mempunyai akses kepada pembolehubah fungsi luar, membolehkan ia melakukan operasi padanya.
Fungsi Lambda
Fungsi Lambda, juga dikenali sebagai fungsi tanpa nama, ialah cara untuk mencipta fungsi kecil sekali guna dalam Python. Dalam projek sains data, anda selalunya akan bekerja dengan fungsi Lambda untuk mencipta struktur data dan saluran paip yang cekap.
Untuk mencipta fungsi lambda, anda boleh menggunakan kata kunci lambda diikuti dengan senarai argumen, titik bertindih, dan kemudian ungkapan. Ungkapan ialah fungsi lambda yang akan dikembalikan setelah ia dipanggil. Berikut ialah contoh fungsi lambda dalam Python:
tambah = lambda a, b: a + b hasil = tambah(3, 4) cetak(hasil) # Output: 7
Dalam contoh di atas, kami mencipta fungsi lambda yang mengambil dua argumen ( a
dan b
) dan mengembalikan jumlahnya. Kami memperuntukkan fungsi lambda ini kepada pembolehubah yang dipanggil add
.
Lambda boleh berguna dalam senario berikut:
Contoh berikut menunjukkan penggunaan penapis fungsi tertib tinggi() dengan lambda:
nombor = [1, 2, 3, 4, 5, 6, 7, 8, 9] nombor_genap = senarai(penapis(lambda x: x % 2 == 0, nombor)) cetak(nombor_genap) # Output: [2, 4, 6, 8]
Dalam contoh ini, kami menggunakan fungsi lambda untuk menentukan kriteria penapisan bagi fungsi penapis(). Fungsi lambda menyemak sama ada nombor genap, dan fungsi penapis() mengembalikan senarai baharu yang mengandungi hanya nombor genap.
Untuk melihat contoh bagaimana fungsi boleh berguna dalam senario sains data yang berbeza, semak video yang diberikan di bawah:
Rekursi
Rekursi adalah teknik dalam pengaturcaraan di mana fungsi memanggil dirinya sendiri. Ini boleh menjadi cara yang berguna untuk menyelesaikan masalah yang kompleks dengan memecahkannya kepada submasalah yang lebih kecil dan serupa.
Apabila mencipta fungsi rekursif, anda perlu mengingati dua perkara: kes asas dan kes rekursif.
Contoh berikut menunjukkan fungsi rekursif dalam Python:
def factorial(n): jika n == 1: return 1 return n * factorial(n - 1) factorial(5)
Dalam contoh ini, kes asas ialah apabila n == 1
, dan fungsi kembali 1
. Kes rekursif berlaku apabila n tidak sama dengan 1, dan fungsi memanggil dirinya dengan n - 1
.
Ralat Biasa dan Penyelesaian Masalah
Jika anda seorang pengaturcara pemula, anda sering menghadapi ralat semasa melaksanakan fungsi seperti fungsi rekursif dan lambda. Bahagian berikut menyerlahkan beberapa ralat biasa dan petua penyelesaian masalah untuk membantu anda menyelesaikannya dengan cekap.
1. TypeError: tiada hujah yang diperlukan : Ralat ini berlaku apabila anda tidak membekalkan bilangan argumen yang betul yang diharapkan oleh fungsi.
def my_function(fname, lname): print(fname, lname) # Betul panggil my_function("John", "Doe") # Akan menimbulkan ralat my_function("John")
Untuk membetulkan ralat ini, pastikan anda menghantar bilangan argumen yang betul kepada fungsi anda.
2. TypeError: jenis operan tidak disokong . Ralat ini mungkin berlaku apabila anda cuba menggunakan operator dengan jenis yang tidak serasi.
def add_number(a, b): return a + b # Hasil panggilan yang betul = add_number(5, 3) print(result) # Akan menimbulkan ralat kerana hasil args yang salah = add_number("5", 3) print(hasil)
Untuk membetulkan ralat ini, pastikan fungsi anda berurusan dengan jenis data yang betul dan pertimbangkan untuk menggunakan penghantaran jenis jika perlu
3. NameError: nama 'function_name' tidak ditakrifkan : Ralat ini menunjukkan bahawa fungsi itu belum ditakrifkan sebelum ia dipanggil.
# Pesanan yang betul def greet(): print("Hello, there!") greet() # Salah order goodbye() def goodbye(): print("Selamat tinggal!")
Untuk membetulkan ralat ini, pastikan fungsi anda ditakrifkan dengan betul dan anda memanggilnya selepas takrifannya.
Kesimpulan
Untuk meringkaskan dan membantu anda mengukuhkan pemahaman anda, perkara berikut meringkaskan aspek utama fungsi panggilan dalam Python:
function_name()
).function_name(arg1, arg2)
).result = function_name(args)
).Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.
Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu