Di Python, fungsi ditakrifkan menggunakan kata kunci def
, diikuti dengan nama fungsi, satu set kurungan yang mungkin mengandungi parameter, dan kolon. Badan fungsi, yang mengandungi pernyataan yang dilaksanakan oleh fungsi, diindentikan di bawah garis definisi. Inilah contoh mudah bagaimana untuk menentukan fungsi:
<code class="python">def greet(name): """ This function greets the person passed in as a parameter """ print("Hello, " name ". Good morning!")</code>
Dalam contoh ini, greet
adalah nama fungsi, dan name
adalah parameter. Fungsi ini mencetak mesej ucapan apabila dipanggil. Petikan triple mengandungi docstring, yang merupakan rentetan literal yang berlaku sebagai pernyataan pertama dalam definisi fungsi, kelas, atau modul dan digunakan untuk mendokumenkan fungsi tersebut.
Di Python, anda boleh membuat beberapa jenis fungsi, termasuk:
print()
, len()
, sum()
, dan lain-lain. Ini boleh digunakan tanpa perlu diimport atau ditakrifkan oleh pengguna. Fungsi Tanpa Nama (Fungsi Lambda) : Ini adalah fungsi kecil, tanpa nama yang ditakrifkan menggunakan kata kunci lambda
. Mereka biasanya digunakan untuk operasi jangka pendek. Contohnya:
<code class="python">square = lambda x: x ** 2 print(square(5)) # Output: 25</code>
Fungsi Rekursif : Ini adalah fungsi yang memanggil diri mereka untuk menyelesaikan masalah dengan memecahkannya ke bahagian yang semakin kecil. Berikut adalah contoh asas fungsi rekursif yang mengira faktorial:
<code class="python">def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)</code>
Fungsi Generator : Ini adalah jenis fungsi khas yang mengembalikan iterator yang menghasilkan urutan nilai apabila diulang. Penjana ditakrifkan seperti fungsi biasa tetapi gunakan pernyataan yield
dan bukannya return
. Contohnya:
<code class="python">def infinite_sequence(): num = 0 while True: yield num num = 1</code>
Di Python, argumen boleh diserahkan kepada fungsi dalam beberapa cara:
Argumen Posisi : Ini adalah jenis hujah yang paling biasa, di mana urutan argumen dalam panggilan fungsi mesti sepadan dengan susunan parameter dalam definisi fungsi.
<code class="python">def describe_pet(animal_type, pet_name): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.") describe_pet('dog', 'Rex')</code>
Argumen Kata Kunci : Ini membolehkan anda menentukan argumen dengan nama parameter mereka, yang dapat membantu menjadikan kod anda lebih mudah dibaca dan mengelakkan kesilapan apabila anda mempunyai banyak parameter.
<code class="python">describe_pet(pet_name='Rex', animal_type='dog')</code>
Argumen lalai : Anda boleh menetapkan nilai lalai untuk parameter, yang akan digunakan jika fungsi dipanggil tanpa argumen tersebut.
<code class="python">def describe_pet(pet_name, animal_type='dog'): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.") describe_pet('Rex') # Here, 'dog' will be used as the default value for animal_type</code>
Senarai hujah sewenang-wenang : Jika anda tidak tahu berapa banyak hujah yang akan dimasukkan ke dalam fungsi anda, anda boleh menggunakan *args
untuk argumen bukan kata kunci dan **kwargs
untuk hujah kata kunci.
<code class="python">def print_all(*args): for arg in args: print(arg) print_all(1, 2, 3, 'hello', 'world')</code>
Kenyataan return
dalam Python digunakan untuk menamatkan pelaksanaan fungsi dan mengembalikan nilai dari fungsi kepada pemanggil. Tujuan pernyataan return
termasuk:
Mengembalikan nilai : Ia membolehkan fungsi untuk mengira hasil dan lulus kembali ke kod yang dipanggil fungsi.
<code class="python">def add_numbers(a, b): return ab result = add_numbers(3, 4) # result will be 7</code>
Penghujung fungsi pelaksanaan : Apabila return
dilaksanakan, fungsi keluar dengan segera, dan tiada kod selanjutnya dalam fungsi dijalankan. Ini berguna untuk keluar awal berdasarkan keadaan.
<code class="python">def divide(a, b): if b == 0: return "Error: Division by zero" return a / b</code>
Mengembalikan pelbagai nilai : Dalam Python, anda boleh mengembalikan pelbagai nilai sebagai tuple, yang membolehkan anda mengembalikan lebih daripada satu hasil dari fungsi.
<code class="python">def min_max(numbers): return min(numbers), max(numbers) min_val, max_val = min_max([1, 2, 3, 4, 5]) # min_val = 1, max_val = 5</code>
Dengan menggunakan pernyataan return
, fungsi boleh menjadi lebih fleksibel dan berkuasa, kerana mereka dapat memproses data dan memberikan hasil kepada bahagian lain program anda.
Atas ialah kandungan terperinci Bagaimana anda menentukan fungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!